目次

内容

RPMを使ったインストール(PerlのHTML::Tidyでは、この方法でないと動かない)

$ su -
# TIDYVER="0.99.0-9.20051025.el4.centos.3.x86_64"
# DLHOSTPATH="http://dev.centos.org/centos/4/testing/x86_64/RPMS"
# wget ${DLHOSTPATH}/libtidy-${TIDYVER}.rpm
# wget ${DLHOSTPATH}/libtidy-devel-${TIDYVER}.rpm
# rpm -ivh libtidy-*.rpm

PerlのHTML::Tidyのインストール

# cpan -i HTML::Tidy
※古いバージョンが残っている場合には、/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/HTML/を削除する

古いインストール方法

  • まずはlibtidyのインストール
    # wget http://tidy.sourceforge.net/src/tidy_src.tgz
    # tar -xzvf tidy_src.tgz
    # cd tidy
    # sh ./build/gnuauto/setup.sh
    # ./configure
    # make
    # make install
  • PHPをtidy/xsl/gd付きでコンパイル
    # ./configure --with-apxs2 --enable-mbstring --with-tidy
    # make
    # make install
    # vi /etc/httpd/conf/httpd.conf ※適宜編集
    # /etc/init.d/httpd restart
  • スクリプト例(オブジェクト指向版)
    <?php
    $html = file_get_contents("test.html");
    $config = array(
    	'indent'       => true,
    	'output-xhtml' => true,
    	'clean'        => true,
    );
    $tidy = new tidy;
    $tidy->parseString($html,$config,'utf8');
    $tidy->cleanRepair();
    echo $tidy."\n";
    ?>
  • 参考情報

インストール方法&使い方(古い方法)

  • 次を解凍して/usr/local/bin にコピーするだけ
  • PHPのextensionが動作しないため、stdinで利用する(美しくね~!)
    $htmlFile = "./test.html";
    $tidyPath = "/usr/local/bin/tidy -utf8";
    system("cat $htmlFile | $tidyPath -c 2>/dev/null | $tidyPath -asxhtml 2>/dev/null",$result);
    print $result."\n";
    • HTMLファイルはUTF-8であることが前提(でなければmb_stringで変換しておく)
    • stdoutでtidyにHTMLデータを渡せないため、HTMLが変数に格納されている場合は一時ファイルに出力してから処理する
    • 始めのtidyでタグの整形とCSS化、2回目でxhtml化を行う。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-09-25 (日) 19:27:03 (444d)