识别字符串中是否存在URL

时间:2009-06-04 15:14:42

标签: php regex

嗨,有人可以帮我识别一个字符串是否存在于使用PHP的字符串中?

我想提取一个完整的字符串,即“嗨,请今天访问http://domain.com/12345”并删除完整的网址,而不仅仅是域名。

谢谢

2 个答案:

答案 0 :(得分:2)

你可能想要这样的东西:

RegEx Guru: Detecting URLs in Text

阅读并理解每种方法的权衡。对我来说,\bhttp://\S+是完全可以接受的,因为我没有兴趣迎合那些将空格链接(或将其与parens的链接包围)转换成纯文本的人......(但我不是很适应我想)

答案 1 :(得分:1)

这是一个例子

$str = file_get_contents('http://www.sitepoint.com');

preg_match_all('~(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)~', $str, $matches);

print_r($matches);
相关问题