初心者で通常のルールについて質問がある場合は、質問してください。

WBOY
リリース: 2016-06-13 11:58:54
オリジナル
840 人が閲覧しました

初心者には定期的に質問があり、助けが必要です。
初心者さん、書籍の記事公開ツールを使用していたとき、通常の URL のマッチングに問題がありました。

<br />$pattern = '/(http\:\/\/|https\:\/\/)?([a-zA-Z0-9-]+\.)+(com|cn|org|net)(\/[\w\%\&\=\'\"\?\/\.]*)?/';<br />$string = 'http://demo.demo.baidu.com';<br />preg_match_all($pattern,$string,$result);<br />
ログイン後にコピー

$result を走査した結果は、
[code=php]
Array
(
[0] => Array
(
[ 0 ] => http://demo.demo.baidu.com
)
[1] => 配列
(
) [0] => > )

[2] => 配列
(
[0] => baidu.
)
[3] => 配列
> [ 0] => com
)
[4] =>配列
(
[0] =>
)
)
)[/php ]
2 番目のサブ式は実際には「www.」と「baidu.」に一致します。一致するものは 2 つありますが、返された結果には一致するものは 1 つだけです。T.T
式全体が URL 全体に一致します。 2 番目の部分式の 2 つの一致結果を使用する必要がありますが、現在は 1 つだけです。どこで問題が発生しているのか教えていただければ幸いです。
ありがとうございます!

------解決策-----

(http\:\/\/<br><font color='#FF8000'>------解决方案--------------------</font><br>https\:\/\/)?(([a-zA-Z0-9-]+\.)+)+(com<br><font color='#FF8000'>------解决方案--------------------</font><br>cn<br><font color='#FF8000'>------解决方案--------------------</font><br>org<br><font color='#FF8000'>------解决方案--------------------</font><br>net)(\/[\w\%\&\=\'\"\?\/\.]*)?
ログイン後にコピー
- - ---解決策-------------------

$pattern = '/(http\:\/\/<br><font color='#FF8000'>------解决方案--------------------</font><br>https\:\/\/)?((?:[a-zA-Z0-9-]+\.)+)(com<br><font color='#FF8000'>------解决方案--------------------</font><br>cn<br><font color='#FF8000'>------解决方案--------------------</font><br>org<br><font color='#FF8000'>------解决方案--------------------</font><br>net)(\/[\w%&=\'"?\/.]*)?/';<br />$string = 'http://demo.demo.baidu.com';<br />preg_match_all($pattern,$string,$result);<br />
ログイン後にコピー
Array<br />(<br />    [0] => Array<br />        (<br />            [0] => http://demo.demo.baidu.com<br />        )<br /><br />    [1] => Array<br />        (<br />            [0] => http://<br />        )<br /><br />    [2] => Array<br />        (<br />            [0] => demo.demo.baidu.<br />        )<br /><br />    [3] => Array<br />        (<br />            [0] => com<br />        )<br /><br />    [4] => Array<br />        (<br />            [0] => <br />        )<br /><br />)<br /><br />
ログイン後にコピー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート