【问题标题】:Use PHP to delete section of .html file使用 PHP 删除 .html 文件的部分
【发布时间】:2023-03-17 09:29:01
【问题描述】:

我有一个要编辑的 HTML 页面。我想删除 .html 文件的某个部分,例如。

<div id="gg">
......
......
</div>

我该怎么做?

【问题讨论】:

  • 您的意思是一次,或按要求连续(和/或某些条件)?

标签: php html parsing


【解决方案1】:

我会推荐使用 PHP 的 DOM 库:

$dom = new DOMDocument;
$dom->loadHTML('<html string />'); // Or $dom->loadHTMLFile('file_name.html');

$xpath = new DOMXPath($dom);
$nodes = $xpath->query('//div[id="gg"]');
if($nodes->length)
  $nodes[0]->parentNode->removeChild($nodes[0]);

$dom->saveHTML(); // Or $dom->saveHTMLFile('file_name.html');

【讨论】:

    【解决方案2】:
    $file = file_get_contents("index.html");
    $file = preg_replace('/<div id="gg">.*?<\/div>/im', '' $file);
    file_put_contents($file);
    

    我没有测试过这段代码。

    注意:嵌套的 div 会破坏 html 结构。

    【讨论】:

    • 如果有一个嵌套的div 会发生什么?
    • 我知道,但在简单的任务中,正则表达式很好。嵌套的 div 打破 html。感谢您的建议。
    【解决方案3】:

    使用 XML(或 HTML)解析器可能会有一些运气。 PHP 5 的This one 看起来非常易于使用,并提供了一种机制来通过 ID 查找特定元素,然后将其内容设置为空字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      相关资源
      最近更新 更多