如何在保存/发布时过滤内容以将rel=“noollow”添加到所有外部链接?

时间:2011-01-20 作者:Scott B

我正在寻找一个插件或代码示例,可以拦截保存/发布事件,并验证帖子内容中的所有外部链接都具有rel=“nofollow”属性。

是否可以对后期保存/发布事件使用add\\u filter或add\\u操作?

1 个回复
最合适的回答,由SO网友:Backie 整理而成

我会尝试“wp\\u insert\\u post\\u data”过滤器。

add_filter(\'wp_insert_post_data\', \'new_content\' );
function new_content($content) {    
    preg_match_all(\'~<a.*>~isU\',$content["post_content"],$matches);
    for ( $i = 0; $i <= sizeof($matches[0]); $i++){

        if ( !preg_match( \'~nofollow~is\',$matches[0][$i]) ){
            $result = trim($matches[0][$i],">");
            $result .= \' rel="nofollow">\';
            $content[\'post_content\'] = str_replace($matches[0][$i], $result, $content[\'post_content\']);
        }

    }

    return $content;
}
显然需要工作,只是一个PoC。

结束

相关推荐