Regex 使用正则表达式查找文本中的链接
已经有好几篇关于查找文本链接的帖子,但没有一篇完全适用于我的情况。 这一个离我越近:Regex 使用正则表达式查找文本中的链接,regex,Regex,已经有好几篇关于查找文本链接的帖子,但没有一篇完全适用于我的情况。 这一个离我越近: $reg_exUrl = "#(https?|ftp)://\S+[^\s.,>)\];'\"!?]#"; preg_match_all( $reg_exUrl, $content, $result ); 除以下内容外,这几乎适用于所有情况: $content = '<p><br></p><p>https://www.google.c
$reg_exUrl = "#(https?|ftp)://\S+[^\s.,>)\];'\"!?]#";
preg_match_all( $reg_exUrl, $content, $result );
除以下内容外,这几乎适用于所有情况:
$content = '<p><br></p><p>https://www.google.com <br></p><p>http://localhost/index.php?view=model <br></p><p><br></p><p>http://localhost/index.php?view=scheduler/ <br></p><p><br></p><p>http://localhost/index.php?view=module<br></p><p><br></p><p><br></p>';
如果链接后面没有空格,则preg_match_all将链接后面的HTML作为链接的一部分
如何修改正则表达式,使其在有HTML标记时停止?您可以使用下面的正则表达式查找上述字符串中的链接
(https?|ftp)://.*?(?= |\s|<|>)