0

HTMLコンテンツを含む文字列内のURLを検出するこのコードがあります

$regex = "/(http|https)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
                preg_match_all($regex, $desc, $url);
                print_r($url);

コードはうまく機能しますが、次のprint_r($url)ような URL が返されます。

http://url.com/</p>

</p>は単にタグを閉じるためのもの<p>ですが、URL には入れたくありません。

どうすればそれをブロックできますか?

ありがとう、ピーター

4

1 に答える 1

0

関数を使用しstrip_tagsてすべての HTML タグを削除し、次にpreg_match_all()各 URL を取得しました。

$regex = "/(http|https)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
preg_match_all($regex, strip_tags(html_entity_decode($desc)), $url);
print_r($url);

これが将来他の人に役立つことを願っています!

ピーター

于 2013-10-20T22:36:55.197 に答える