2017-10-06 70 views
0

我搜索并尝试了几种方案来解决这个问题,但他们没有工作,XPath的HTML获取特定标签元素

这是我的情况的html:

<div class="entry"> 
 

 
<p align="center"><span ><b>CAT-1</b></span></p> 
 

 
<p align="center">car-1 <a href="" target="_blank" >link</a> </p> //need this 
 
<p align="center">car-2 <a href="" target="_blank" >link</a> </p> //need this 
 
<p align="center">car-3 <a href="" target="_blank" >link</a> </p> //need this 
 

 

 
<p align="center"><span><b>CAT-2</b></span></p> 
 

 
<p align="center">car-1 <a href="" target="_blank">link</a> </p> 
 
<p align="center">car-2 <a href="" target="_blank">link</a> </p> 
 
<p align="center">car-3 <a href="" target="_blank">link</a> </p> 
 

 
</div>

我想提取只是a href他们提到//need this

我已经在使用:

$xpath->query("//p[@align='center']//a[@target='_blank']/text()"); 

但其提取所有a href

有没有办法得到它?即使包括跨度CAT-1没有probleme,仅仅指刚需^ h的href里面

+0

所有的hrefs在你的输入中都是空的 – RomanPerekhrest

+0

是的,我知道,只是解释 – hertanet

回答

0

尝试下面的XPath来获取所需的文本内容:

//p[@align='center']//a[@target='_blank']/text()[following::b[.='CAT-2']] 

这与排除与"CAT-2"文本段落后如下链接

+0

我试试这个,但不工作 – hertanet

+0

你是什么意思的“不工作”?你得到的输出是什么? – Andersson

+0

什么都没有改变我得到它的所有标签,你做了什么呢? – hertanet