PHP - 函数在文本中查找链接 [英] PHP - Function To Find Links In Text
本文介绍了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屋!
查看全文