如何在PHP中使用XPath设置一个(非(包含))

如何在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']"); 好的,看起来这段代码确实有效,下面的代码也有效,但我已经确

在某些条件下,我使用此PHP代码获取包含“$profile_name”的所有文本

它可以正常工作,但我还需要提取所有“不”包含“$profile\u name”的文本 在同样的条件下

像这样:

$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'))]”)