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 回答