在PHP中连接xPath查询

时间:2015-11-26 14:37:52

标签: php xpath

我使用xPath查询HTML文档。我将字符串设置为xPath查询的内容。所以在这种情况下' $ category_titles'设置为查询返回的文本。

$category_titles = $xpath->query('//*[@id="test"]/div/div/h1');

有没有办法将两个xpath查询的值传入我的字符串中?因此,我需要将$ category_titles设置为两个单独的xPath值的结果。

2 个答案:

答案 0 :(得分:1)

你应该使用operator |将多个不同的路径合并为一个。 这是有效的:

$titles = $xpath->query('//*[@id="test"]/div/div/h1 | //*[@id="test1"]/div/div/h1');

答案 1 :(得分:0)

我不知道我是否理解你想要的东西,但是如果你想在同一个变量中有两个xpath结果,那么唯一的方法是使用array

$category_title = array();
$category_titles[0] = $xpath->query('//*[@id="test"]/div/div/h1');
$category_titles[1] = $xpath->query('//*[@id="test1"]/div/div/h1');//I changed the ID, but you can change your entire query

然后,如果你想连接它,只需$concat = "$category_titles[0]" . "$category_titles[1]"即可。

但是,如果您尝试使用第一个查询的结果创建第二个查询然后连接,则可以执行以下操作:

$category_titles = $xpath->query('//*[@id="test"]/div/div/h1');
$category_titles = "$category_titles" . $xpath->query("//*[@id=\"$category_titles\"]/div/div/h1");// Note the escaped slashes