我有一个要编辑的 html 页面。我想删除某个部分,如下所示:
<ul class="agentDetail">
........
.......
........
</ul>
我希望能够删除标签和它们之间的所有内容。我的想法是编辑一个页面并重新显示它减去一些我不想被看到的数据(因此删除了一些部分)。
我如何在 php 中执行此操作?
最佳答案
我建议将代码解析为 XML,然后使用 XPath 取消/选择您需要的节点。这是一个起点:
$dom = getDom("http://www.stackoverflow.com");
parseDom($dom);
function getDom($url)
{
$contentUtf8 = $this->fetchDataFromUrl($url);
$htmlData = mb_convert_encoding($contentUtf8, 'HTML-ENTITIES', "UTF-8");
$dom = new DomDocument('1.0', 'utf-8');
$dom->substituteEntities = false;
$dom->preserveWhitespace = false;
@$dom->loadHTML($htmlData);
return $dom;
}
function parseDom($dom)
{
$xpath = new DOMXPath($dom);
$nodes = $xpath->query("//ul[@class='agentDetail']");
// manipulate nodes here...
}
关于php - 使用 PHP 删除 HTML 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3263251/