八月
05

补充《修改trackback样式,统一评论外观》中代码

导航:#trackbacks代码 
         #代码解释

在《 修改trackback样式,统一评论外观 》中,我只是说了我对trackbacks的样式处理,并没有贴出代码,当然,原因我也说了,是因为我的wlw的代码插件无法使用了。今天终于搞定了这个代码插件,所以顺便也贴出那篇文章中的代码。

代码如下,大致结构就是这样:

<li <?php comment_class(); ?> id="#trackback-<?php comment_ID() ?>">
    <div class="trackback-author">
        <a href="<?php echo preg_replace('/http:\/\/(.*?)\/.*/ie', '"http://$1"', get_comment_author_url()); ?>" rel='external nofollow' target="_blank">
            <img class="avatar avatar-32 photo" src="<?php echo preg_replace('/http:\/\/(.*?)\/.*/ie', '"http://$1/favicon.ico"', get_comment_author_url()); ?>" onload="javascript:this.style.background='none'" onerror="javascript:this.src='http://www.qiqiboy.com/files/links.gif'"/>
        </a>
    </div>
    <div class="vcard">
        <span class="fn"><a id="trackback-<?php comment_ID() ?>" href="<?php echo preg_replace('/http:\/\/(.*?)\/.*/ie', '"http://$1"', get_comment_author_url()); ?>" rel='external nofollow' target="_blank"><?php echo preg_replace('/[^\-\|]*(?:\-|\||&laquo;|&raquo;)([^\-\|]*)/ie', '"$1"',get_comment_author()); ?></a></span>
        <span class="comment-meta trackbackmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf('%1$s %2$s', get_comment_date(),  get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),'  ','') ?></span>
        <span class="floor"><em><a href="#trackback-<?php comment_ID() ?>"><?php _e('#','SimPaled');echo ++$trackbackcount; ?></a></em></span>
    </div><div class="fixed"></div>
    <div id="trackbackbody-<?php comment_ID(); ?>" class="comment_text">
        <strong><a href="<?php echo get_comment_author_url(); ?>" rel='external nofollow' target="_blank"><?php echo preg_replace('/([^\-\|]*?)(?:\-|\||&laquo;|&raquo;)[^\-\|]*/ie', '"$1"',get_comment_author()); ?></a></strong>
        <?php comment_text() ?>
    </div>
</li>

代码解释

在“class=’trackback-author’”这个DIV里,

   1: <?php echo preg_replace('/http:\/\/(.*?)\/.*/ie', '"http://$1"', get_comment_author_url()); ?>

利用正则匹配出博客域名,然后头像获取是通过这句

   1: <img class="avatar avatar-32 photo" src="<?php echo preg_replace('/http:\/\/(.*?)\/.*/ie', '"http://$1/favicon.ico"', get_comment_author_url()); ?>" onload="javascript:this.style.background='none'" onerror="javascript:this.src='http://www.qiqiboy.com/files/links.gif'"/>

具体的我在《一句代码美化你的链接页面模板(links.php)-自动显示favicon图标,非js方法》此文中已经提到过,当然,你也可以使用google的favicon图标缓存地址,改为以下形式

   1: <img class="avatar avatar-32 photo" src="<?php echo preg_replace('/http:\/\/(.*?)\/.*/ie', '"http://www.google.com/s2/favicons?domain=$1"', get_comment_author_url()); ?>"/>

最后再说一下

   1: <?php echo preg_replace('/[^\-\|]*(?:\-|\||&laquo;|&raquo;)([^\-\|]*)/ie', '"$1"',get_comment_author()); ?>

同样是利用正则,匹配出博客的名字,当做trackback的“名字”。

下面还有一句类似的,

   1: <?php echo preg_replace('/([^\-\|]*?)(?:\-|\||&laquo;|&raquo;)[^\-\|]*/ie', '"$1"',get_comment_author()); ?>

则是去掉博客名字,匹配出文章标题

OK,说完了。Surprised

本文标签: , , , , ,

分享

本文短网址: http://qiqi.boy.im/6i

这篇文章已经有 36 条评论

Comments (34) Trackbacks (2)
You can leave a response or Trackback this entry .
  1. liuqiqi -#1

    美美的沙发 :lol:

  2. winy -#2

    板凳还有 :idea:

  3. winy -#3

    地板也要,东西拿走

  4. 流年 -#4

    我就膜拜一下

  5. MOPVHS -#5

    前排要紧~~~明天看砍~~~

  6. Bee君 -#6

    又要折腾一下主题了~~~不过现在这个主题的样式也好像不错

  7. 小邪 -#7

    ╮( ̄▽ ̄)╭,一直用代码编辑器,用不来wlw ~
    感觉wlw用起来好费劲喔 囧 ~

  8. Page -#8

    哦 你的编辑框看来是弄的差不多了

  9. 阿邙 -#9

    俺来晚了 :!: 评论框弄完开始弄其他细节了哇·

  10. mice -#10

    唉 杯具 我那个不敢在PHP上折腾什么代码了…服务器带不起了..

  11. 海天 -#11

    呵呵 这个也折腾了两篇文章
    话说我的trackback 都已经给我取消了
    呵呵 加油折腾~

  12. zwwooooo -#12

    正则太厉害鸟,我不会 :cry:

  13. lianyungang -#13

    你好,否能做个友情链接呢?

  14. 娱乐 -#14

    你好,请问你用的是什么主题?写的挺好的。有空我会常来看看你的博客。

  15. Fanr -#15

    QiQi的分享精神实在可嘉!向你学习!

  1. 博客加入若干Ajax效果

    [...] 补充《修改trackback样式,统一评论外观》中代码 [...]

  2. Hello WordPress!

    [...] 2010.08 我继续折腾,期间我修改trackback样式,统一评论外观,也分享了这个修改中的一些涉及到的代码补充《修改trackback样式,统一评论外观》中代码。这期间,我对ajax兴趣逐渐浓厚起来,所以便有了这个博客加入若干Ajax效果。在折腾ajax、延迟加载中,我遇到了页面文档初始化的一些问题,于是查阅文档便有了这篇JavaScript页面文档初始化 window.onload的替代办法;后来,我有了在侧边栏开发ajax即时评论的想法,于是便出现了【效果测试展示篇】Ajax版即时侧边栏评论回复功能,掉了几天大家的胃口,然后又简单的蜻蜓点水般【原理指导篇】无时不在的评论 侧边栏即时回复功能。八月份期间,我的SimPaled主题基本上成型了,于是我将它介绍了给大家【SimPaled篇】Introduce My Blog Theme For You。很哟意思的是,我看到了腾讯微博的头像悬浮显示,于是便仿了下来仿腾讯微博式访客信息悬浮显示(JavaScript & ajax)。基于边栏评论,为了方便大家,我开发了插件发布:边栏最新评论及ajax回复——WP RC Reply AJAX。后来发现wordpress的无限嵌套的邮件回复有问题,于是有了完美解决wordpress无限嵌套<二> 【邮件发送相关问题】。因为SimPaled主题用到了很多延迟加载,所以有同学问我延迟加载怎样实现,于是我分享了自己当时的思路JS延迟加载机制函数(Lazyload)。八月份最后一件事大概要算我在博客中曝光了中文spam里的那些极品好玩的spam吧围观wordpress中文圈内好玩的spam [...]

Leave a Reply

Hi , say something.

  • :?:
  • :razz:
  • :sad:
  • :evil:
  • :!:
  • :smile:
  • :oops:
  • :grin:
  • :eek:
  • :shock:
  • :???:
  • :cool:
  • :lol:
  • :mad:
  • :twisted:
  • :roll:
  • :wink:
  • :idea:
  • :arrow:
  • :neutral:
  • :cry:
  • :mrgreen: