首頁  >  文章  >  後端開發  >  如何截斷 HTML 文字而不扭曲標籤?

如何截斷 HTML 文字而不扭曲標籤?

Barbara Streisand
Barbara Streisand原創
2024-11-11 16:40:02549瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn