ホームページ  >  記事  >  バックエンド開発  >  正規表現を使用して 2 つの状況を照合する方法

正規表現を使用して 2 つの状況を照合する方法

WBOY
WBOYオリジナル
2016-06-23 13:43:481169ブラウズ

私のリンクには次の 2 つの状況があります
1, $str=xxx.php?a=aaa;
2, $str=xxx.php?a=aaa&m=bbb;

正規表現は自分で書きましたが、一致します。そうでない場合は、書くのを手伝ってください:

preg_match("/((.*?.php)?(.*))(?(&.*))/is",$str,$arr);
望ましい結果: リンクの後に &m=xxx が存在する場合、ここで結果をセグメント化します。存在しない場合は、前の結果を設定するだけです


ディスカッションに返信 (解決策)
2番目のケースでは、bbbを取り出します。最初のケースでは、aaaを取り出しますよね?

2 番目の場合は bbb を、最初の場合は aaa を取り出すという意味ですよね?

はい、はい、


parse_url を使用しないのはなぜですか? Explore と組み合わせてクエリに含まれるパラメーターの数を分析すると、正規表現
1, $str=xxx.php?a=aaa; を使用するよりも効率が大幅に高くなります。 aaa&m=bbb ; 正規表現を厳密に適用しないでください。

$val=end(explode('=',$str));ガイダンス!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。