htmlをtidyで解析。閉じタグを自動補完してくれる。

2014年11月14日更新 view: 78 view
http://2.bp.blogspot.com/_k9YRGIDlJZw/TKDIPyksYiI/AAAAAAAAEzg/9X-1aeRwGIE/s400/Tidy's+Hard+Dance+Top+10.jpg

tidy の使い方

指定した文字列の閉じタグがない場合、自動で補完してくれる。
但し、サーバーに tidy がインストールされていないとうまく動かないので注意。

http://d.hatena.ne.jp/derasisi/20111213/1323799652

スポンサードリンク
$html = '<p>タグの閉じ忘れテスト<ul><li>wasureta</ul>';
$config = array('indent' => false,
            'output-xhtml' => true,
            'wrap' => 200);

$tidy = new tidy();
$tidy->parseString($html, $config, 'utf8');
$body = $tidy->body();

結果

<body> <p>タグの閉じ忘れテスト</p> <ul> <li>wasureta</li> </ul> </body>

外部ページのhtmlを修復

hrefをカンマで囲ってないソースでもカンマで囲ってくれる。
スプレイピングしたいけど相手側ページがバグってる場合に、修復してからスクレイピングするってのも
良い。

$html = file_get_contents("http://2ch.sc/bbsmenu.html");
        $html = mb_convert_encoding($html, "UTF-8", "SJIS");

        $config = array('indent' => false,
            'output-xhtml' => true,
            'wrap' => 200);

        $tidy = new tidy();
        $tidy->parseString($html, $config, 'utf8');
        $body = $tidy->body();

        pd($body);
スポンサードリンク

関連記事

関連カテゴリ