如何截断 HTML 文本而不扭曲标签?

Barbara Streisand
发布: 2024-11-11 16:40:02
原创
548 人浏览过

How to Truncate HTML Text Without Distorting Tags?

截断 HTML 文本而不扭曲标签

需要截断包含 HTML 的文本同时保留标签的有效性是 Web 开发中的常见要求。然而,由于存在未闭合标签,直接应用字符串截断通常会导致文本部分扭曲或不完整。

解析 HTML 以进行准确截断

一种有效的方法解决方案是解析 HTML 并仔细处理标签的打开和关闭。这确保了最终截断的文本保持其结构完整性。以下是分步方法:

  1. 跟踪开放标签:维护解析 HTML 时遇到的开放标签堆栈。
  2. 打印文本片段: 迭代 HTML 并打印任何前面的文本片段
  3. 处理 HTML 实体和多字节序列: 实体(例如,
  4. 流程开始标签: 当遇到开始标签时,它会被推送到标签栈。自关闭标签直接打印。
  5. 处理关闭标签:当遇到关闭标签时,将从标签堆栈中弹出它,并检查其相应的开始标签是否正确嵌套。打印结束标签。
  6. 关闭剩余标签:解析整个 HTML 后,堆栈上剩余的任何打开标签将以相反的顺序关闭。

HTML 感知截断的 PHP 实现

以下 PHP 函数演示了如何截断 HTML 文本,同时保留标签:

function printTruncated($maxLength, $html, $isUtf8 = true) {
    // ... Function logic goes here
}
登录后复制

用法示例

printTruncated(10, '<b>&amp;lt;Hello&amp;gt;</b> <img src="world.png" alt="" /> world!'); // Output: "<b><Hello></b> <img src="world.png" alt="" /> world!"
登录后复制

结论

通过解析 HTML 和适当地处理标签,我们可以截断文本,同时保持其结构完整性。这可确保保留链接、格式和其他 HTML 元素,从而提供更准确和更有意义的用户体验。

以上是如何截断 HTML 文本而不扭曲标签?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板