ホームページ >バックエンド開発 >PHPチュートリアル >PHP が正規表現を使用して文字列内の URL を取得する方法の詳細な説明
クライアントは文字列を渡し、すべての URL がその文字列と一致する必要があります。PHP でこれを実現するにはどうすればよいですか?この記事では、PHP が文字列内の URL (Web サイトのリンク) を取得する方法を紹介します。具体的な実装方法については、主に PHP の正規表現関数 preg_match_all を使用します。
実行結果は次のとおりです。
preg_match_all - グローバル正規表現マッチングを実行します
構文:
$str ='本文实例讲述了php匹配字符串里所有URL地址的方法。http://www.manongjc.com 分享给大家供大家参考'; preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*/",$str,$array2); print_r($array2);
最初の一致を検索した後、それ以降の検索は前の一致の終わりから開始されます。
フラグには、次のフラグを組み合わせることができます (PREG_PATTERN_ORDER と PREG_SET_ORDER を一緒に使用しても意味がないことに注意してください):
$matches になるように結果を並べ替えるために PREG_PATTERN_ORDER
を使用する場合[0] はすべてのパターンの配列に一致します。$matches[1] は、最初の括弧内のサブパターンと一致する文字列で構成される配列です。以下同様です。 (つまり、$matches[0] [0] はすべてのパターン一致の 2 番目の項目、$matches[0] [1] はすべてのパターン一致の 2 番目の項目、$matches[1] [0] は次の一致です各項目。括弧内の最初の項目 $matches[1] [0] は各括弧内の 2 番目の項目と一致します)
( [0] => Array ( [0] => http://www.manongjc.com ) )
int preg_match_all ( string pattern, string subject, array matches [, int flags] )
正規表現
マッチング置換および分割関数の例マッチング置換および分割関数の例分析ステートメントのコメント手順の詳細な説明以上がPHP が正規表現を使用して文字列内の URL を取得する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。