ホームページ >バックエンド開発 >PHPチュートリアル >正規表現を使用して PHP のテキストから URL を抽出するにはどうすればよいですか?

正規表現を使用して PHP のテキストから URL を抽出するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-20 21:04:14528ブラウズ

How Can I Extract URLs from Text in PHP Using Regular Expressions?

正規表現を使用した PHP のテキストからの URL の抽出

PHP プログラミングのコンテキストでは、テキストからの URL の抽出は次のように実行できます。正規表現、特に preg_match() 関数を使用します。詳細な説明は次のとおりです:

preg_match() での正規表現の使用

preg_match() 関数は 2 つのパラメータを取ります:

  • パターン: と照合する正規表現。 text.
  • String: 検索されるテキスト。

この場合、URL に一致する正規表現を構築する必要があります。パターンの例を次に示します。

#\bhttps?://[^\s()<>]+(?:([\w\d]+)|([^[:punct:]\s]|/))#

このパターンは、次の形式で URL をキャプチャします。

  • 「http」または「https」プロトコルで始まります。
  • ドメイン名または IP アドレスと一致します。
  • オプションのポート番号またはpath.

正規表現の適用

指定されたテキストから URL を抽出するには、次のコードを使用します:

preg_match_all('#\bhttps?://[^\s()<>]+(?:([\w\d]+)|([^[:punct:]\s]|/))#', $string, $match);

ここで、$string には検索するテキストが含まれます。

キャプチャされたファイルへのアクセスURL

正規表現一致の結果は $match 配列に保存されます。 URL は最初のグループでキャプチャされ、次のようにアクセスできます:

$url = $match[1][0];

この正規表現には、特定の不正な URL の処理において依然として制限があることに注意してください。より複雑なシナリオの場合は、WordPress の wp-includes/formatting.php 関数を使用するなどの代替アプローチが必要になる場合があります。

以上が正規表現を使用して PHP のテキストから URL を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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