PHPでHTMLの文法補正を行う「PECL::tidy」のインストール

Tidyは、HTML文書の文法上の誤りを修正したり、きれいなHTMLに整形するツールで、なにかと便利です。PECL::tidyを導入すると、PHP上でtidyのツールを扱うことができるようになります。

ということで、PECL::tidyのインストールについてまとめます。

インストール

Tidyを使用するには、libtidyがインストールされている必要があります。 libtidyは、tidyのホームページ http://tidy.sourceforge.net/で入手可能です。

PHP: 要件 – Manual

Tidy は、現在、PHP 4.3.xおよびPHP 5用として、PECL拡張モジュールとして http://pecl.php.net/package/tidy. から入手可能です。

PHP: インストール手順 – Manual

それでは、インストールを行います。

# yum install php-tidy
Dependency Installed: libtidy.x86_64 0:0.99.0-12.20070228.el5.centos
Complete!

Apacheを再起動します。

# /etc/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

phpinfo()で、tidyがインストールされたことを確認します。

php tidy

これで、インストールは完了です。

HTMLの補正の例

簡単なHTML補正の例です。

<?php
ob_start();
?>

<html>
<head><title>Tidyのテスト</title></head>
<body>

<p>HRタグを適切に置き換え<hr></p>
<p>間違えた終了タグを修正(タグ間違い)</i>
<p>間違えた終了タグを修正(/なし)<p>

<li>liタグの補正
<li>liタグの補正
<li>liタグの補正

</body>
</html>

<?php
$buffer = ob_get_clean();

$config = array('indent' => TRUE,
                'output-xhtml' => TRUE,
                'wrap' => 200);
$tidy = tidy_parse_string($buffer, $config, 'UTF8');
$tidy->cleanRepair();
echo $tidy;
?>

これを実行すると以下のような結果を返してくれます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>
      Tidyのテスト
    </title>
  </head>
  <body>
    <p>
      HRタグを適切に置き換え
    </p>
    <hr />
    <p>
      間違えた終了タグを修正(タグ間違い)
    </p>
    <p>
      間違えた終了タグを修正(/なし)
    </p>
    <ul>
      <li>liタグの補正
      </li>
      <li>liタグの補正
      </li>
      <li>liタグの補正
      </li>
    </ul>
  </body>
</html>
  • XHTML宣言文が追加されました。
  • pタグの中に入っていたhrタグが、外に出されました。
  • pタグの間違った閉じタグが、修正されました。
  • pタグの閉じタグで、/忘れが、修正されました。
  • liリストにulタグが追加されました。
  • liタグに閉じタグが追加されました。

というように、修正されていることが確認できます。

参考ページ

カテゴリー: 日本Androidの会   タグ: , ,   この投稿のパーマリンク

トラックバック

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>