如何在执行后从xpath节点中删除空间?

时间:2012-12-11 15:12:00

标签: php xml xpath web-scraping

对不起,如果我发布了一个奇怪的问题。现在,我正在解释它。

我正在尝试从网页中删除数据,例如:http://www.koolkart.com/nokia-lumia-800-p8251

我试图让“saholic”附近表格中列出的设备的价格为“Rs.17759 / - ”,xpath为"//*[@id="price-chart"]/tbody/tr[1]/td[3]"

现在,当我在chrome中执行xpath时,它给出了空间价格

"

                                Rs. 17759/-
                                "

现在,当我在php中执行它时

<?php
$xpath = '//*[@id="price-chart"]/tbody/tr[1]/td[3]';          
$html = new DOMDocument();
@$html->loadHTMLFile('http://www.koolkart.com/nokia-lumia-800-p8251');
$xml = simplexml_import_dom($html);   
if (!$xml) {
    echo 'Error while parsing the document';
    exit;
}
echo $xml;
$source_image = $xml->xpath($xpath);
print_r($source_image);
?>

它给出错误!

那么,有没有解决方法如何删除这些尾随空格或任何其他方式如何获得该价格?

1 个答案:

答案 0 :(得分:0)

我会假设你想要价格。

您在浏览器和脚本中得不到相同的结果,因为浏览器添加了tbody标记,但不是源代码的一部分。

你可以使用这样的表达式:

'//*[@id="price-chart"]/tr[1]/td[3]'