全部 ApiPost使用 后端 前端 接口测试 IOS Android 数据库 程序人生 测试技术 工具
问答 / 解决方案 / 解决方案详情

php如何实现统一给外部链接添加nofollow值?

后端 25次浏览

当我们在创建网站时,通常对发布的文章中的外部链接需要添加 rel=nofollow,利于SEO优化。php函数如何写呢?

| 0 收藏

解决方案

函数示例如下:

使用方法:echo content_nofollow('HTML代码', '.apipost.cn');
则会将非apipost.cn的域名统统加上  rel=nofollow 标签。
/**
 * 超链添加rel="nofollow"
 * 
 // 所有内页详情输出请使用此函数处理
 */
function content_nofollow($content, $domain){
	preg_match_all('/href="(.*?)" rel="external nofollow" /', $content, $matches);

	if($matches){
		foreach($matches[1] as $val){
			if( strpos($val, $domain) === false ){
				$content = str_replace('href="' . $val . '" rel="external nofollow"  rel="external nofollow" ', 'href="' . $val . '" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" ', $content);
			}
		}
	}

	preg_match_all('/src="(.*?)" rel="external nofollow" /', $content, $matches);

	if($matches){
		foreach($matches[1] as $val){
			if( strpos($val, $domain)===false ) {
				$content = str_replace('src="' . $val . '" rel="external nofollow"  rel="external nofollow" ', 'src="' . $val . '" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" ', $content);
			}
		}
	}

	return $content;
}

评论

开发者问答

只服务于

前后端、移动端、测试人员

发布解决方案 发布您遇到的Bug和解决方案,成为大神,让众人膜拜吧!