且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Linux 下php扩展 tidy 的安装 _ 参考

更新时间:2022-09-17 07:56:53

tidy 是一个非常帮忙的网页代码分析和纠错的工具,能够支持多种页面编码,并且支持xhtml输出。如果我们偷懒,甚至可以将整个页面缓存,最后采用tidy处理,最后输出完美的xhtml代码。

linux下安装过程如下:

首先安装tidy ,下载tidy源代码:

cvs -d:pserver: anonymous@tidy.cvs.sourceforge.net 为防备电子邮件地址收集器,这个 E-mail 地址被隐藏,你的浏览器必须支持 Javascript 才可看到这个邮件地址 :/cvsroot/tidy login
cvs -z3 -d:pserver: anonymous@tidy.cvs.sourceforge.net 为防备电子邮件地址收集器,这个 E-mail 地址被隐藏,你的浏览器必须支持 Javascript 才可看到这个邮件地址 :/cvsroot/tidy co tidy

然后编译:

cd tidy/build/gmake/
make
make install

tidy 编译完成了,接下来我们安装php扩展,php文档中都说 pecl中tidy-1.x支持php 4.3以后,而 tidy-2.x支持php5 ,但是我就没找到tidy 2.x ,但是tidy-1.2在我的php下运行也正常。

wget http://pecl.php.net/get/tidy-1.2.tgz
tar -xvzf tidy-1.2.tgz
cd tidy-1.2
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make;make install

接下来修改php.ini

加上 extension="tidy.so"

重启apache 就可以了。

比如当对两个html进行比较时, 如何能够正确地向用户提供 友好的比较结果。举一个很简单的例子。
<span>123</span> 和<div>123</div> 在html source 层面是完全不同的字符串,但是对于用户体验来说,这两个字符串是一致的。 再比如
<ul><li>First</li><li>Second</li></ul> 和 <li>First</li><li>Second</li> 在显示的时候是完全一致,但是html 确差了很多。 我们可以从技术上向用户解释说, 他们本来就是不一样的,但是这样会吓跑我们的用户。

我想了很多办法来解决这个问题,解决方案就是建立一个可配置的配置表, 通过反射建立起一套规则,当出现比较结果和human 体验不一致的时候,就利用这套逻辑进行修正,但是这样的问题就是 头疼医疼 脚疼医脚 ,总是滞后于用户发现问题,就和IE 的补丁一样,虽然可以解决问题,但是永远都是再发现问题以后才去解决。

终于有一点,痛下决心,在根子上解决这个问题。 解决这个问题的关键,就是在相同的用户体验的前提下,尽量的将数据源修正为同等比较, 这样的唯一解决方案就是XHTML 了,下一步的问题是,如何进行修正,这个可不是一个小问题。 直道有一天一个很偶然的机会,发现了W3C组织提供的Open Source 的项目Html Tidy,

这个Html Tidy 可以帮助我们 对html 字符串进行修正,并做标准化的处理。详细的关于Html Tidy 的信息,大家可以去这个站点, 我也会在后续的Post 中做详细的介绍。

 

source : http://hi.baidu.com/gengshenspirit/blog/item/9f6b3538f896b8fab311c771.html