代码实现在文章内图片地址自动添加nofollow

Nofollow是许多朋友喜欢添加的东东,合理的使用Nofollow可以最大程度上避免PageRank流失。不过PageRank可不是区区Nofollow就可以控制的哦,许多朋友说是发文章时候需要在链接中修改为Nofollow,于是出现了形形色色的插件来实现。不过大家都忽略了,与herl一样img代码也是权重流失的途径之一。现在Quicl教大家实现,文章发布自动给img添加nofollow。

  • 首先备份自己的function.php,复制如下代码进入其末尾(Quicl友情提醒:由于WP特殊机制,请把全角字符替换为半角字符):

  • /**
    * 下面这一个是自动
    * 添加文章内图片
    * nofollow代码实现
    * 作者:Quicl
    * 来源:20xue.com
    */

    add_filter(‘the_content’, ‘quicl_nofollow’);
     
    function quicl_nofollow($content) {
        return preg_replace_callback(‘/<img[^>]+/’, ‘quicl_nofollow_callback’, $content);
    }
     
    function quicl_nofollow_callback($matches) {
        $link = $matches[0];
        $site_link = get_bloginfo(‘url’);
     
        if (strpos($link, ‘rel’) === false) {
            $link = preg_replace("%(src=\S(?!$site_link))%i", ‘rel="nofollow" $1’, $link);
        } elseif (preg_match("%src=\S(?!$site_link)%i", $link)) {
            $link = preg_replace(‘/rel=\S(?!nofollow)\S*/i’, ‘rel="nofollow"’, $link);
        }
        return $link;
    }

    /**
    * 上面这一个是自动
    * 添加文章内图片
    * nofollow代码实现
    * 作者:Quicl
    * 来源:20xue.com
    */


其中的代码使用了正则表达式,以及replace函数。关于正则表达式大家可以去我的一些文章里面看看,非常详细哦。来源于Quicl’sBlog http://20xue.com 不要转载啊!

PHP中IF函数的另类使用案例

Quicl最近两天在进行一个模仿腾讯微博进行T.QQ主题的二次开发,学过Java与C对PHP不太懂。遇到许多没有匪夷所思的问题,进展缓慢,预计将在1月16日晚发布,http://t.20xue.com  演示地址就是这个啦。在进行主题修改过程中遇到了一个比较不常见的IF语句,原语句如下:

<?php if (!$options[‘notice’])  : ?>
    <div class="block">
        <div class="
        <?php if($options[‘notice_color’] == 1) {echo ‘content’;}
            else if($options[‘notice_color’] == 3){echo ‘content r’;}
            else{echo ‘content g’;}
        ?>">
            <div id="notice_content"><?php echo($options[‘notice_content’]); ?></div>
        </div>
    </div>
<?php endif; ?>

下面Quicl演示一下冒号的具体使用方法 http://t.20xue.com

<?php if (!$options[‘notice’]) {

<div class="block">
<div class="
<?php if($options[‘notice_color’] == 1) {echo ‘content’;}
else if($options[‘notice_color’] == 3){echo ‘content r’;}
else{echo ‘content g’;}
?>">
<div id="notice_content"><?php echo($options[‘notice_content’]); ?></div>
</div>
</div>

}

else ;?>

—上面是常见表达方式————————————————下面是冒号的方式—

<?php if (!$options[‘notice’]) : ?>
<div class="block">
<div class="
<?php if($options[‘notice_color’] == 1) {echo ‘content’;}
else if($options[‘notice_color’] == 3){echo ‘content r’;}
else{echo ‘content g’;}
?>">
<div id="notice_content"><?php echo($options[‘notice_content’]); ?></div>
</div>
</div>
<?php endif; ?>

<?php if (!$options[‘notice’]) : ?>这句中,出现了一个冒号,有许多网友说是应该是分号,还有说是“三目运算”。Quicl以前用C时候为:?可是现在这般情况有点傻眼。不过经过Backtrack群中limbo的寻找,查找到了这个冒号的作用。不是三目运算哦~~请看:

这里的冒号 : 相当于  { }  ,它是配合< ?php endif; ?>一起来使用的,我们可以在期间填写的其他html或是php代码,比较好。Huatx评论曰:

本来学过一点PHP都知道的- –
要不然你要在<?php    里面这里插html   转义都能把你弄疯掉   ?>
如果要插在那里面  你只能  echo  “\<html xxxxxxx \>”
这样的- –
要是有单引号双引号这些恐怖的东西 你会想死掉的- –

感谢群里面朋友的帮助,大家祝愿我主题早日完工吧~~Quicl’sBlog http://20xue.com