【发布时间】:2022-01-07 21:13:42
【问题描述】:
我想知道在php中是否有任何方法可以匹配所有具有相同单词的类, 示例:
<div class="classeby_class">
<div class="classos-nope">
<div class="row">
<div class="class-show"></div>
</div>
</div>
</div>
<div class="class-first-one">
<div class="container">
<div class="classes-show">
<div class="class"></div>
<div class="classing"></div>
</div>
</div>
</div>
在上面的示例中,我想匹配包含单词 "class" 的所有 div,但不匹配包含单词 "classes" 的所有 div
喜欢,
积极的
<div class="class-show">...</div>
<div class="class-first-one">...</div>
<div class="class">...</div>
<div class="class-first-one">...</div>
但对
不利<div class="classeby_class">...</div>
<div class="classes-show">...</div>
<div class="classing">...</div>
我正在使用 php 来显示几个不同的 html 页面。 由于正则表达式不是合适的方法,首先是因为几个分页符,其次是因为托管限制,我试图通过解析来做到这一点。
所有 html 代码都存储在服务器上。 我可以使用下面的示例限制特定类。
$doc = new DomDocument();
$xpath = new DOMXPath($doc);
$classtoremove = $xpath->query('//div[contains(@class,"class")]');
foreach($classtoremove as $classremoved){
$classremoved->parentNode->removeChild($classremoved);
}
echo $HTMLDoc->saveHTML();
我知道有 CSS 选择器,但是当我尝试在 PHP 中使用它时它不起作用。可能是因为我使用的是 XPath。 示例:
'[id*="class"],[class*="class"]'
不过,我认为他的价值观会超出我的需要。 有什么方法可以通过 Xpath 获取这些值? 目的是完全删除包含该单词的 div 或其他标签。
【问题讨论】:
标签: php html xml xpath xml-parsing