栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将纯文本URL转换为PHP中的HTML超链接

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将纯文本URL转换为PHP中的HTML超链接

这是另一种解决方案,它将捕获所有http / https / www并转换为可单击的链接。

$url = '~(?:(https?)://([^s<]+)|(www.[^s<]+?.[^s<]+))(?<![.,:])~i'; $string = preg_replace($url, '<a href="$0" target="_blank" title="$0">$0</a>', $string);echo $string;

或者,仅捕获http / https,然后使用下面的代码。

$url = '/(http|https|ftp|ftps)://[a-zA-Z0-9-.]+.[a-zA-Z]{2,3}(/S*)?/';   $string= preg_replace($url, '<a href="$0" target="_blank" title="$0">$0</a>', $string);echo $string;

编辑:下面的脚本将捕获所有url类型,并将它们转换为可单击的链接。

$url = '@(http)?(s)?(://)?(([a-zA-Z])([-w]+.)+([^s.]+[^s]*)+[^,.s])@';$string = preg_replace($url, '<a href="http$2://$4" target="_blank" title="$0">$0</a>', $string);echo $string;

新更新,如果您要去除字符串(s),请使用下面的代码块,感谢@AndrewEllis指出了这一点。

$url = '@(http(s)?)?(://)?(([a-zA-Z])([-w]+.)+([^s.]+[^s]*)+[^,.s])@';$string = preg_replace($url, '<a href="http$2://$4" target="_blank" title="$0">$0</a>', $string);echo $string;

这是URL无法正确显示的非常简单的解决方案。

$email = '<a href="mailto:email@email.com">email@email.com</a>';$string = $email;echo $string;

这是一个非常简单的修复程序,但是您必须根据自己的目的对其进行修改。

我提供了多个答案,因为某些服务器的设置不同,所以一个答案可能对某些服务器有用,但对其他服务器不起作用,但是我希望这些答案对您有用,如果不能,请告诉我,希望我能提出另一个解决方案。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/392913.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号