加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – XPATH – 如何选择文本的这一部分?

发布时间:2020-12-13 16:44:12 所属栏目:PHP教程 来源:网络整理
导读:页面代码: div class='container' p bAddress:/b Some addressbr / bPhone:/b phone1,phone2br / bE-mail: /ba href='mailto:somemail' somemail/abr / bSite:/ba href='somesite'somesite/a/p /div 我需要在 / b之后选择文字在 br /之前使用XPATH. 在这种
页面代码:

<div class='container'> 
<p>
    <b>Address:</b> Some address<br />
    <b>Phone:</b> phone1,phone2<br />
    <b>E-mail: </b><a href='mailto:somemail' >somemail</a><br />
    <b>Site:</b><a href='somesite'>somesite</a>
</p>    
</div>

我需要在< / b>之后选择文字在< br />之前使用XPATH.
在这种情况下,我需要获得“一些地址”或“phone1,phone2”等.

‘某些地址’需要在$var1中
$var2中的’phone1,phone2′

我尝试了.// * [@class=”container”]/p/text()[1]它没有用.

解决方法

试试这个吧

/div[@class="container"]/p/descendant-or-self::text()[
    not(ancestor::b) 
    and normalize-space(.) != ""
]

这将选择P元素树(具有类属性“container”的div)中不在B元素树内或为空的P元素树中的文本节点,例如,这会给你

>“一些地址”,
>“phone1,phone2”,
>“somemail”和
>“某个地方”.

Demo

另外看看这个XPath tutorial.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读