【问题标题】:PHP get all unclosed HTML tags in stringPHP获取字符串中所有未关闭的HTML标签
【发布时间】:2023-03-13 05:59:01
【问题描述】:

如何获取给定字符串中所有未关闭的标签,最好按照它们应该关闭的顺序?

注意:请考虑 HTML 中没有错误,并且它只是在 X 字符后被截断。不,这不是坏 html 或重叠标签等的情况。也不会有结局

示例: <p><span>Lorem</span><b>ipsum ---返回---> </b></p>
-OR-
<ul><li>1</li><li>2 ---return---> </li></ul>

因此,如果字符串与函数输出连接,它将重新创建一个有效的 HTML。

我不确定 RegExp 是否可以在这里解决问题,基本上我想得到 之间没有匹配的 > 结束标记的任何内容。

谢谢。

【问题讨论】:

  • 未关闭的<img> 标签怎么样?你在乎吗? (我知道它不适用于您拥有的关闭功能,但您可能会得到未使用的关闭标签,例如</img>。)
  • 嘿。当前算法确保截断不会发生在标记中间,并且<img> 标记以<img/> 结尾。所以在这种特殊情况下这不是问题。

标签: php html tags


【解决方案1】:

这不是一件容易的事。你可能想看看Tidy

Tidy 是 Tidy HTML 的绑定 清洁和修复实用程序,它允许 你不仅要清洁,否则 操作 HTML 文档,还 遍历文档树。

http://php.net/manual/en/book.tidy.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 2019-08-12
    • 2011-06-20
    • 2012-01-19
    相关资源
    最近更新 更多