ホームページ >バックエンド開発 >PHPチュートリアル >PHP が正規表現を使用して文字列内の URL を取得する方法の詳細な説明

PHP が正規表現を使用して文字列内の URL を取得する方法の詳細な説明

墨辰丷
墨辰丷オリジナル
2018-05-29 09:59:576374ブラウズ

クライアントは文字列を渡し、すべての URL がその文字列と一致する必要があります。PHP でこれを実現するにはどうすればよいですか?この記事では、PHP が文字列内の URL (Web サイトのリンク) を取得する方法を紹介します。具体的な実装方法については、主に PHP の正規表現関数 preg_match_all を使用します。


実行結果は次のとおりです。


ここでは 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);


件名ですべてを検索します。 pattern で指定されるパターン 正規表現はコンテンツを照合し、その結果をフラグで指定された順序で照合します。

最初の一致を検索した後、それ以降の検索は前の一致の終わりから開始されます。

PREG_PATTERN_ORDER と PREG_SET_ORDER には特別な注意を払ってください


フラグには、次のフラグを組み合わせることができます (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

正規表現

マッチング置換および分割関数の例

PHP
正規表現

マッチング置換および分割関数の例分析


posアクティブなその後の表現

ステートメントのコメント手順の詳細な説明

PHPで最もよく使用される
正規表現


以上がPHP が正規表現を使用して文字列内の URL を取得する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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