如何在PHP中使用XPath设置一个(非(包含))
在某些条件下,我使用此PHP代码获取包含“$profile_name”的所有文本 它可以正常工作,但我还需要提取所有“不”包含“$profile\u name”的文本 在同样的条件下 像这样:如何在PHP中使用XPath设置一个(非(包含)),php,xpath,contains,Php,Xpath,Contains,在某些条件下,我使用此PHP代码获取包含“$profile_name”的所有文本 它可以正常工作,但我还需要提取所有“不”包含“$profile\u name”的文本 在同样的条件下 像这样: $outputs = $xpath->query("//span[@class='profile' and not(contains(.,'$profile_name'))]/../div[@class='msgbody']"); 好的,看起来这段代码确实有效,下面的代码也有效,但我已经确
$outputs = $xpath->query("//span[@class='profile' and
not(contains(.,'$profile_name'))]/../div[@class='msgbody']");
好的,看起来这段代码确实有效,下面的代码也有效,但我已经确定问题实际上是这段HTML
<span class="profile">Jim Jones</span> to <span class="profile">Ronald Weasly
Stitch</span>
吉姆·琼斯致罗纳德·韦斯利
缝线
在本例中,用户Jim Jones给Ronald Weasly写了一封回复信,但我把它误认为是Ronald Weasly,因为这是最近的一次
<span class="profile">Jim Jones</span> to <span class="profile">Ronald Weasly</span>
<span class="time">October 21, 2010 at 10:44 am</span>
<div class="msgbody">
<div class="subject">Jeeec</div>
are you developing applications with C+ or ASP, did you see The Social Network? i sense
a huge opportunity for semantic analysts in the future.
</div>
</div>
吉姆·琼斯致罗纳德·韦斯利
2010年10月21日上午10:44
吉埃克
你是用C+还是ASP开发应用程序的,你看到社交网络了吗?我感觉到
对语义分析师来说,这是一个巨大的机会。
使用:
//*[div[@class='msgbody']]
/span[@class='profile'
and
not(contains(.,'$profile_name'))
]
哇,你把我弄丢了。我猜与最初的查询相比有太多的变化,我无法理解。我不明白其中的一部分是怎么变成评论的。我假设我需要它来指定要搜索的div类。我的意思是排除查询是一个完全独立的查询,但只是因为我找不到“notcontains”的正确语法,我才能够让它返回所有不相等的名称,但不返回相应的msgbody。用这个代码<代码>$outputs=$xpath->query(“//*[div[@class='msgbody']]]/span[@class='profile'和not(包含(,'$profile_name'))]”)尝试了这个
$outputs=$xpath->query(“/*[div[@class='msgbody']]]/span[@class='profile'而不是(包含(,'$profile_name'))]/../div[@class='msgbody'])代码>此代码不返回任何结果$outputs=$xpath->query(//span[@class='profile'和not(包含(,'profile_name'))]//*[div[@class='msgbody']]”代码>此代码返回所有不相等的名称。接近<代码>$outputs=$xpath->query(“//*[div[@class='msgbody']]///span[@class='profile'和not(包含(,'$profile_name'))]”)代码>