preg_replace之前有空格(或没有)

时间:2014-11-20 16:28:30

标签: php preg-replace preg-match

我想创建一个函数来检测字符串中的链接,但仅限于www之前。什么都没有,或者是空白。

第一个案例: 我有这个字符串:我去www.google.com

在这种情况下,我的PHP函数会检测www.google.com

在第二种情况下我有这个字符串:我去了一个href =“http://www.google.com” 脚本没有检测到www.google.com,因为它包含在另一个“单词”中,很好。

但在最后一种情况下,我只有wwww.google.com(没有任何空白或其他任何内容)。问题是现在我的功能没有检测到www.google.com,因为字符串前没有空格。我该如何解决这个问题?

这就是我使用的:

$text = preg_replace('/([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&\/\/=]+)/i', 
       '\\1<a rel="nofollow" target="_blank" href="http://\\2">\\2</a>', $text);

0 个答案:

没有答案