gpt4 book ai didi

javascript - 帮助正则表达式 - 我怎样才能让一些网址不跟随?

转载 作者:搜寻专家 更新时间:2023-11-01 04:34:13 25 4
gpt4 key购买 nike

好的,所以我已经实现了这个功能,它可以很好地将大多数 url(如 pies.com 或 www.cakes.com)转换为实际的链接标签。

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 就是您要找的:

function link($matches)
{
$str_return = '<a href="http://www.'.$matches[3].'" target="_blank"';
if(in_array($matches[3], $no_follow_array))
{
$str_return .= ' no-follow';
}
$str_return .='>'.strtolower($matches[3]).'</a>';
}

$regex = '/(http:\/\/)?(www\.)?([a-zA-Z0-9\-_\.]+\.(com|co\.uk|org(\.uk)?|tv|biz|me)(\/[a-zA-Z0-9\-\._\?&=#\+;]+)*)/ie';
$str = preg_replace_callback($regex,'link', $str);

关于javascript - 帮助正则表达式 - 我怎样才能让一些网址不跟随?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3262785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com