星の数ほどあるホームページ、Webサイト。その中で利用されているHTMLをキチンと書いているサイトは果たしてどれほどあるものか。再利用するとなると話は全然変わってくる。Parserは存在するが、HTMLを修復できるパーサは珍しい。その内の一つでメジャーなライブラリにtidyというものがある。このtidyをラッピングしたPECLモジュールがPECL::tidyである。インストールインストールはCVSから直接ダウンロードしコンパイルを行う。(なぜかtarで圧縮したものが存在しない。実験にはXREAを利用しているが、さくらインターネットなどのその他のレンタルサーバでもインストールは出来ると思う。tidyをインストールtidyをインストールする。PECL::tidyのバージョン2.xはPHP5用である。PECL::tidyバージョン1.xをインストールPECLのサイトからダウンロードしてコンパイルする。~/local/lib/php/extensionsPECL::tidyバージョン2.xをインストールバージョン2はPHP5に標準でバンドルされている。phpのコンパイル時に--with-tidy=/path/to/tidyを追加すればOK。モジュールとしたい場合はsharedを追加するか、PHPのソースのext/tidyディレクトリを取り出し、バージョン1.xインストールのphpize以降を実行すればよい。後は他のPECLモジュールと同様php.iniのextensionsに登録する。使い方tidyはフィルターのような使い方をする。大量に存在するオプションを設定し、データを通すイメージ。htmlオプションの設定状態は以下のようにすると確認できる。);オプションの詳細はこちら。補足tidy内部での日本語対応は諦めること。文字コードを一定にしてから利用することを強く薦める。output-encodingパラメータは文字ではなく数字を指定する。shiftjisで0からの順番。メソッド第3引数の文字コードを指定するところには文字列が使用できる。EUC-JPは入っていない。パーサなのでデータをNodeの配列として処理することも可能。配列だけに使い勝手は非常に悪い。高速に処理できるXmlReaderやXPathが使えるDomやsimpleXMLに渡す方がよい。