PHP代码实现全站外链添加nofollow属性或修改成跳转内页

<?php
$html = '需要替换的html代码';
preg_match_all ('/<a(.*?)href="(.*?)"(.*?)>(.*?)</a>/',$html,$matchs,PREG_SET_ORDER);
$host = 'https://www.senxi123.com/';
$length = strlen ($host);
foreach ($matchs as $val) {
if (substr($val[2],0,4) == 'http'){
if(substr($val[2],0,$length) != $host){
if (stripos($val[1],'nofollow') === false and stripos($val[3],'nofollow') === false){
$words = array('<a'.$val[1].'href="'.$val[2].'"'.$val[3].'>'.$val[4].'</a>'=>'<a rel="nofollow"'.$val[1].'href="'.$val[2].'"'.$val[3].'>'.$val[4].'</a>');
$html = strtr($html,$words);
}
}
}
}
echo $html;
?>
  • 解释:完整匹配A标签信息,接着判断 href 开头是否为http字符,如果是的话继续判断是否包含本站首页链接,没有的话就是一个外链了,然后判断A标签中是否已有 nofollow 属性,如果存在则忽略,否则调用 strtr 函数进行文本替换
  • 原文来自:https://www.9ifuzhu.com/qtym/1338.html
建站教程

2020年最新反腾讯检测报毒PHP代码

2020-4-20 6:18:53

建站教程

禁止百度保留快照的代码Noarchive

2020-4-20 6:27:11

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索