PHP - 在文本中查找链接的函数 [英] PHP - Function To Find Links In Text

查看:19
本文介绍了PHP - 在文本中查找链接的函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个函数可以转换像 'www.example.com' 和 'http://example.com' 在超链接中.它还处理子域,例如'http://sub.example.com'.

I have got a function that converts strings like 'www.example.com' and 'http://example.com' in hyperlinks. It also deals with subdomains e.g. 'http://sub.example.com'.

但是它失败了 - http://www.example.com' 并输出以下内容

But it fails with this one - http://www.example.com' and outputs the following

<a href="http://<a href="http://www.chemica.ru">www.chemica.ru</a>">http://<a href="http://www.chemica.ru">www.chemica.ru</a></a>

请问,有人可以帮忙吗?问题是http://"和www".两者都具有不同的转换方式.

function makeLinks($text){ 
 $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)', '<a href="\1">\1</a>', $text); 
 $text = eregi_replace('(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)', '<a href="http://\1">\1</a>', $text);
 $text = eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})', '<a href="mailto:\1">\1</a>', $text); 
 return $text; 
}

推荐答案

只需写入视图页面(不需要任何库或辅助函数):

just write to your view's page (you dont need any library or helper function) :

$text = "Good Site is http://masalahkita.com";
$link = preg_replace("/([w]+://[w-?&;#~=./@]+[w/])/i","<a target="_blank" href="$1">$1</a>", $text);

echo $link;

这篇关于PHP - 在文本中查找链接的函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆