首页 / 程序人生 / PHP / php如何实现统一给外部链接添加nofollow值?

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

所属分类:PHP 围观人数:136

当我们在创建网站时,通常对发布的文章中的外部链接需要添加rel=nofollow,利于SEO优化。因此,我们需要统一给文章内容中的链接添加nofollow值。

但是,除了外部链接之外,对于内链并不需要添加nofollow值,因此需要判断是否是某个域名,对于内链不处理。

下面这段代码就是实现以上的功能,同时处理了内链和外链:

function content_nofollow($content, $domain)
{
    preg_match_all('/ target="_blank" href="(.*?)"/', $content, $matches);
    if ($matches) {
        foreach ($matches[1] as $val) {
            if (strpos($val, $domain) === false) {
                $content = str_replace(' target="_blank" href="' . $val . '"', ' target="_blank" href="' . $val . '" rel="external nofollow" target="_blank" ', $content);
            } else {
                $content = str_replace(' target="_blank" href', ' target="_blank"  target="_blank" href', $content);
            }
        }
    }
    preg_match_all('/src="(.*?)"/', $content, $matches);
    if ($matches) {
        foreach ($matches[1] as $val) {
            if (strpos($val, $domain) === false) {
                $content = str_replace('src="' . $val . '"', 'src="' . $val . '" rel="external nofollow"  target="_blank" ', $content);
            }
        }
    }
    return $content;
}
the end
免责声明:本文来自 115CMS博客 发布,但不代表本站的观点和立场。