簡単なタグのぶっこぬきなら正規表現すっっべっきー
http://blog.wozozo.org/archives/110
Zend_Dom_Queryの実験でもあるのにそれにつっこむのも野暮だけど。
「//html」とか「//title」てのは、そのタグの入れ子が複数あるように見えて変。
(ニコ動のアカウントもってないんだけど、ログインしてるともしかして違う?)
<?php require_once 'Zend/Dom/Query.php'; $html = <<<HTML <html> <title>たいとる</title> <body> BBBBBBBBBBBBBBBB </body> </html> HTML; ob_start(); $startXpath = microtime(); for ($i = 0; $i <100; $i++) { $dom = new Zend_Dom_Query($html); $dom->queryXpath('//title'); } $endXpath = microtime(); ob_end_clean(); echo 'xpath1------'; echo PHP_EOL; var_dump($endXpath - $startXpath); ob_start(); $startXpath2 = microtime(); for ($i = 0; $i <100; $i++) { $dom = new Zend_Dom_Query($html); $dom->queryXpath('html/title'); } $endXpath2 = microtime(); ob_end_clean(); echo 'xpath2------'; echo PHP_EOL; var_dump($endXpath2 - $startXpath2); ob_start(); $startPreg = microtime(); for ($i = 0; $i <100; $i++) { preg_match("/<title>(.*)<\/title>/i", $html, $matches); } $endPreg = microtime(); ob_end_clean(); //var_dump($matches[1]); echo 'preg-----'; echo PHP_EOL; var_dump( ($endPreg - $startPreg));
結果(1)
xpath1------ float(0.03771) xpath2------ float(0.034237) preg----- float(0.002532)
結果(2)
xpath1------ float(0.029545) xpath2------ float(0.013386) preg----- float(0.000967)
PHP 5.3.0-dev (cli) (built: Jun 22 2008 00:20:31) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2008 Zend Technologies
get_meta_tags関数があるならget_title_tagとかあるべきですね(´ー`)。PHPは初心者にやさしくないなあ。