可能的重复项:
PHP 链接内容中的链接
我在查找文本链接并将它们包装在 A 标签中时遇到了一些困难。
到目前为止,我正在使用这个链接/ ['w]*'.[a-z]{2,}/i
找到适用于此类链接的链接,stackoverflow.com 但它错过了 www。 或手头的任何东西。
回顾一下,我正在尝试找到所有链接并包装在 A 标签中。没有文本包含协议部分(http(s(://(或端口部分,这使得它有点困难。
现在找不到好的重复项,所以尝试一些简单的事情,比如重复前缀:
/'b('w['w-]+'.)+[a-z]{2,}'b/i
我不会使用它;太多的误报。但是你并没有真正限制范围。替代方案包括例如固定的 TLD 列表,以使其更具体一些。
$text = preg_replace('@((?:http(?:s)?://)?(?:www)?([-'w'.]+)+(:'d+)?(/(['w/_'.]*('?'S+)?)?)?)@', '<a href="$1">$1</a>', $text);