Chinaunix

标题: trackback学习 [打印本页]

作者: 放弃思考    时间: 2006-02-09 11:03
标题: trackback学习
       最近要做一些web2.0方面的技术储备。首先要做一个trackback演示,以前很少关注blog方面的技术,不知trackback,tag,RSS等属于web2.0的范畴(其实对于web2.0的定义,我现在还搞不太明白,原来还以为是技术上的革新)。

       花了一天找资料学习,trackback这个概念有点玄乎,看了数小时才搞透彻,按我自己的理解trackback就是:跨站评论,当然trackback还可以用在其他很多方面,如论坛,各种网站联系等等,关键是要有相应的标准。同时,评论授权也有必要考虑下。

       动手写演示代码--跨站留言本,找个blog拷代码偷懒下,一会就交差了,呵呵。贴出参考的cblog2中关于trackback的关键代码:


/*********************************************************
发送trackback程序
参数,主机地址,标题,这篇文章的地址,内容,站点名称
*********************************************************/
function sendTrackback($host,$title,$url,$excerpt,$blog_name) {
$buf="";
  $host = str_replace('http://', '', $host);
$path = explode('/', $host);
$host = $path[0];
unset($path[0]);
$path = '/' . implode('/', $path);
  $excerpt = cn_substr($excerpt,252);
$fp = @fsockopen($host, 80, $errno, $errstr, 30);
if(!$fp) {
  Return flase;
}
$blog_name=str_replace("'", "''", $blog_name);;
$query  = 'title=' . rawurlencode($title);
$query .= '&url=' . rawurlencode($url);
$query .= '&excerpt=' . rawurlencode($excerpt);
$query .= '&blog_name=' . rawurlencode($blog_name);
$out = 'POST ' . $path . ' HTTP/1.1' . "\r\n";
$out .= 'Host: ' . $host . "\r\n";
$out .= 'Connection: close' . "\r\n";
$out .= 'Content-Length: ' . strlen($query) . "\r\n";
$out .= 'Content-Type: application/x-www-form-urlencoded; charset=iso-8859-1' . "\r\n\r\n";
$out .= $query . "\r\n";
   fwrite($fp, $out);
while (!feof($fp))
   $buf .= fgets($fp,128);
fclose($fp);
$arr=explode("",$buf);
$return_num=intval(substr($arr[1], 1, 0));
if($return_num==0){
     return true;
}else{
     $arr2=explode("message",$buf);
  $return_msg=str_replace(">", "", $arr2[1]);
  $return_msg=str_replace("



       感受:trackback看似玄乎,其实挺简单。现在想来tag倒还复杂一些,虽然本质上是分类而已,但如果是像flickr这样的大站点,如何实现tag功能是需要好好设计的。

       思考tag中...,有在大型站点实现tag功能的朋友请提供点资料,共同探讨下^_^


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12569/showart_72788.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2