5
好吧,我已经做了这个功能,它可以很好地将pies.com或www.cakes.com等大多数网址转换为实际的链接标签。正则表达式的帮助 - 我怎样才能让一些url不跟?
function render_hyperlinks($str){
$regex = '/(http:\/\/)?(www\.)?([a-zA-Z0-9\-_\.]+\.(com|co\.uk|org(\.uk)?|tv|biz|me)(\/[a-zA-Z0-9\-\._\?&=#\+;]+)*)/ie';
$str = preg_replace($regex,"'<a href=\"http://www.'.'$3'.'\" target=\"_blank\">'.strtolower('$3').'</a>'", $str);
return $str;
}
我想更新此功能no-follow
标签添加到链接到我的竞争对手,
,所以我将有一定的关键字(竞争对手名称)nofollow的,例如,如果我的网站是关于烘焙我可能想:
no-follow any sites with the phrases 'bakingbrothers', 'mrkipling', 'lyonscakes'
是有可能实现这个if(contains x){ add y}
到我的正则表达式?
这就是所谓的'回望'?
这个看上去很不错但是我遇到麻烦人物,似乎preg_replace_callback不接受“E”修饰,所以现在它被捕获'n'形成'\ n'新行? – Haroldo 2010-07-16 08:54:49
你能提供你的输入字符串的例子吗?难以建立盲目的正则表达式:) – 2010-07-16 09:24:27
啊这是我的错误,我是双线逃脱线条突破,你的解决方案非常有效,也感谢你也给马蒂他的帮助 – Haroldo 2010-07-16 09:30:59