«
用PHP技术解决网站URL格式过长的问题

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  最近正在帮朋友开发一个全新的网站,设计初衷是简洁、易于访问。结果,由于不是十分上心,对部分设计并不是很满意。比如,网站导航、评论和社区部分仍有待完善。但是,在开发过程中总结出一些PHP应用技巧,愿与大家分享。</p><p>  首先,第一个例子充分说明了简单的REST API和SimpleXML的结合有着绝对实用的功效。</p><p>  长期以来,我一直习惯于使用FeedBurne,因为它可以清楚地查看到注册用户的数量。作为此次网站设计的一部分,我希望在不使用镜像的前提下就能够获取该数字。输入FeedBurner Awareness API,通过两行的PHP命令,我们可以得到下列结果:</p><code><?php<br />$info = simplexml_load_file('http://api.feedburner.com/awareness/1.0/GetFeedData?uri=shiflett'); $subscribers = $info->feed->entry['circulation']; <br />?></code><p>  当URL长度过长时,格式就不容易把握。此时,最好的解决方案就是缩短URL长度,而最适中的URL长度是前X个字符和后Y个字符。如下:</p><code><?php<br /> function shorten_url($url, $separator = '...', $first_chunk_length = 35, $last_chunk_length = 15) {<br />  $url_length = strlen($url);<br />   $max_length = $first_chunk_length + strlen($separator) + $last_chunk_length;<br />   if ($url_length > $max_length) {<br />    $first_chunk = substr($url, 0, $first_chunk_length);<br />    $last_chunk = substr($url, -$last_chunk_length);<br />     return $first_chunk . $separator . $last_chunk;<br />   }<br />   return $url;<br />}<br /> $url = 'http://averylongdomainname.org/a/very/long/path/to/averylongfilename.pdf'; $short_url = shorten_url($url);</code><p>  这样,就可以连接到$url并显示$short_url。而且,还可以清楚看到链接所在。</p>