如果您接受包含 HTML 的用户提交的内容,您将如何生成自动摘录(使用 PHP)但保持 HTML 有效?
例如,如果您选择前 200 个字符,您可能会错过一个结束标签,并且计算标签并不是很简单。
我见过一些图书馆,但它们非常庞大,因为它们处理了大量的事情。我只需要它来生成自动摘录。
如果您接受包含 HTML 的用户提交的内容,您将如何生成自动摘录(使用 PHP)但保持 HTML 有效?
例如,如果您选择前 200 个字符,您可能会错过一个结束标签,并且计算标签并不是很简单。
我见过一些图书馆,但它们非常庞大,因为它们处理了大量的事情。我只需要它来生成自动摘录。
如果你想确保有效性,你将不得不计算标签,我猜。
限制 strip_tags 接受的标签将使检查变得不那么复杂。
首先,您应该检查指定位置 (200) 处的字符是否是标签的一部分。我认为,最简单的方法是检查标签打开器(<)是否出现在标签关闭器(>)之前的位置左侧。
如果您在标签内,则必须确定它是否是结束标签。如果是这样,您应该将限制扩展到“>”的下一次出现。如果没有,您将限制减少到标签开启器的最后一次出现。
现在您唯一的问题是检查字符串末尾是否缺少结束标记。计算允许的标签(开始和结束)会给你一个提示,你必须在最后添加哪些结束标签,以及它们的数量。
这给您留下了确定这些“更正”标签的顺序的问题。有了一点逻辑,您也应该能够做到这一点。
有一个不错的
斯蒂芬