我使用xPath查询HTML文档。我将字符串设置为xPath查询的内容。所以在这种情况下' $ category_titles'设置为查询返回的文本。
$category_titles = $xpath->query('//*[@id="test"]/div/div/h1');
有没有办法将两个xpath查询的值传入我的字符串中?因此,我需要将$ category_titles设置为两个单独的xPath值的结果。
答案 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