ob_start回调函数提取输出 - PHP
问题描述:
我想获得输出“苹果”,因为它在span标记里面有一个叫做水果的id。那么应该在该回调函数中写入哪些代码?ob_start回调函数提取输出 - PHP
<?php
function callback($buffer) {
// get the fruit inHTML text, the output should be "Apples" only
....
....
}
ob_start("callback");
?>
<html>
<body>
<p>It's like comparing <span id="fruit">Apples</span> to Oranges.</p>
</body>
</html>
<?php
ob_end_flush();
?>
答
$dom = new DOMDocument;
$dom->loadHTML($buffer);
$xpath = new DOMXPath($dom);
$node = $xpath->query('//span[@id="fruit"]');
var_dump($node->item(0)->nodeValue); // string(6) "Apples"
一个更通用的解决方案......
$dom = new DOMDocument;
$dom->loadHTML($buffer);
$text = $dom->getElementsByTagName('p')->item(0)->getElementsByTagName('span')->item(0)->nodeValue;
var_dump($text); // string(6) "Apples"
如何删除这个 “串(6)”,我想只有 “苹果”。 – 2011-03-17 06:16:27
大声笑,没关系。谢谢 :) – 2011-03-17 06:23:54