站长论坛

标题: 实例:用PHP技术解决网站URL格式过长的问题 [打印本页]

作者: webptr    时间: 2007-10-5 11:13
标题: 实例:用PHP技术解决网站URL格式过长的问题
最近正在帮朋友开发一个全新的网站,设计初衷是简洁、易于访问。结果,由于不是十分上心,对部分设计并不是很满意。比如,网站导航、评论和社区部分仍有待完善。但是,在开发过程中总结出一些PHP应用技巧,愿与大家分享。

首先,第一个例子充分说明了简单的REST API和SimpleXML的结合有着绝对实用的功效。


长期以来,我一直习惯于使用FeedBurne,因为它可以清楚地查看到注册用户的数量。作为此次网站设计的一部分,我希望在不使用镜像的前提下就能够获取该数字。输入FeedBurner Awareness API,通过两行的PHP命令,我们可以得到下列结果:

以下为引用的内容:
  1. <?php
  2. $info = simplexml_load_file('http://api.feedburner.com/awareness/1.0/GetFeedData?uri=shiflett'); $subscribers = $info->feed->entry['circulation'];  
  3. ?>
复制代码
当URL长度过长时,格式就不容易把握。此时,最好的解决方案就是缩短URL长度,而最适中的URL长度是前X个字符和后Y个字符。如下:


以下为引用的内容:
  1. <?php
  2.   function shorten_url($url, $separator = '...', $first_chunk_length = 35, $last_chunk_length = 15) {
  3.     $url_length = strlen($url);
  4.      $max_length = $first_chunk_length + strlen($separator) + $last_chunk_length;
  5.       if ($url_length > $max_length) {
  6.         $first_chunk = substr($url, 0, $first_chunk_length);
  7.         $last_chunk = substr($url, -$last_chunk_length);
  8.           return $first_chunk . $separator . $last_chunk;
  9.      }
  10.       return $url;
  11. }
  12.   $url = 'http://averylongdomainname.org/a/very/long/path/to/averylongfilename.pdf'; $short_url = shorten_url($url);

复制代码
这样,就可以连接到$url并显示$short_url。而且,还可以清楚看到链接所在。




欢迎光临 站长论坛 (http://www.tzlink.com/bbs/) Powered by Discuz! X3.2