相关疑难解决方法(0)

Php解析链接/电子邮件

我想知道是否有一个简单的代码片段可以转换任何类型的链接:

http://www.cnn.com to <a href="http://www.cnn.com">http://www.cnn.com</a>
cnn.com to <a href="http://www.cnn.com">cnn.com</a>
www.cnn.com to <a href="http://www.cnn.com">www.cnn.com</a>
abc@def.com to  to <a href="mailto:mailto:abc@def.com">mailto:abc@def.com</a>
Run Code Online (Sandbox Code Playgroud)

我不想使用任何PHP5特定的库.

感谢您的时间.

更新我已将上述文本更新为我想要转换为的内容.请注意,案例2和3的href标签和文本不同.

UPDATE2怎么做gmail聊天呢?他们很聪明,只适用于真实域名.egaly工作,但a.cb不起作用.

php regex

5
推荐指数
1
解决办法
3838
查看次数

将文本中的所有URL替换为PHP中的可单击链接

我有一个用PHP编写的Web应用程序.我想在用户评论中找到所有网址,并将其更改为可点击的链接.我搜索了很多网站和页面,发现下面的解决方案(不幸的是我没有找到它的参考链接):

<?php
function convert($input) {
   $pattern = '@(http)?(s)?(://)?(([a-zA-Z])([-\w]+\.)+([^\s\.]+[^\s]*)+[^,.\s])@';
   return $output = preg_replace($pattern, '<a href="http$2://$4">$0</a>', $input);
}
?>
Run Code Online (Sandbox Code Playgroud)

这段代码完全归功于它的作者.但我发现其中有一个我无法解决的错误.
如果检测到的URL开始小号字母(无HTTPS),该HREF值不会有š性格和HTTP将变更为HTTPS,而内部的文字是正确的.

示例:
source.com >><a href="https://ource.com">source.com</a>

你有解决这个bug的任何解决方案吗?

php regex url preg-replace

0
推荐指数
2
解决办法
2613
查看次数

标签 统计

php ×2

regex ×2

preg-replace ×1

url ×1