Heim > Backend-Entwicklung > PHP-Tutorial > 正则表达式如何匹配两种情况

正则表达式如何匹配两种情况

WBOY
Freigeben: 2016-06-23 13:43:48
Original
1186 Leute haben es durchsucht

我的链接存在这二个情况

1,$str=xxx.php?a=aaa;
2,$str=xxx.php?a=aaa&m=bbb;

我自己写的正则,但匹配不到,求高手帮助写一下:

preg_match("/((.*?\.php)\?(.*))(?(&.*))/is",$str,$arr);


想要的结果:当链接后面存在 &m=xxx 时,把 这里的结果也分段出来,不存在就只配置前面的


回复讨论(解决方案)

你的意思是如果第二种情况就取出bbb第一种情况就取出aaa对吧?



你的意思是如果第二种情况就取出bbb第一种情况就取出aaa对吧?



对,是的,

为什么不用parse_url呢?结合explode分析你的query里面有多少个参数,效率比用正则要高的多

1,$str=xxx.php?a=aaa;
2,$str=xxx.php?a=aaa&m=bbb;
不要硬套正则有些时候正则未必方便
$val=end(explode('=',$str));

我以为正则的效率很高呢,所以……

自学的小白还有很多路要走,谢谢你们的指点!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage