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

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

DDD
DDDオリジナル
2024-12-14 12:59:14155ブラウズ

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

PHP でのテキストからの効率的な URL 抽出

クエリ

具体的には正規表現を使用して次のテキストから URL を抽出しますpreg_match():

$string = "this is my friend's website http://example.com I think it is coll";

Answer

指定された文字列から URL を抽出するには、正規表現を利用するのが適切な方法です。有効な正規表現パターンの 1 つは次のとおりです。

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

この正規表現は、URL が「http」または「https」で始まり、スペースや特殊文字を含まないドメインが含まれていること、およびオプションでパラメータまたはパス情報が含まれていることを確認することにより、有効な URL と一致します。

ただし、考慮すべき制限があります。 「http://google:ha.ckers.org」などの不正な URL は、このパターンでは完全には除外されない可能性があります。

代わりに、次の WordPress 機能を利用することもできます:

make_clickable($string);

この関数は、プレーン テキストをクリック可能な URL を含む書式設定された文字列に変換するために特別に設計されており、URL 抽出のための堅牢な方法を提供します。

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

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