0

好的,我一直在使用以下代码在我输入的文本中查找任何 URL,但有些内容(例如 YouTube 代码或其他内容)中没有链接,它也会找到这些链接。我想修改此代码,以便它忽略已经是某些内容的一部分的链接周围的引号。

`公共功能自动链接文本($文本){

    $pattern  = '#\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))#';
    return preg_replace_callback($pattern, array($this, 'auto_link_text_callback'), $text);

}`
4

1 回答 1

0

这只是排除了前面有引号的链接

/(?<=[^"]|^)(https?|ftp|file):\/\/[-a-zA-Z0-9+&@#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#\/%=~_|]/
于 2012-06-23T05:05:33.533 回答