埋め込み HTML によるテキストの切り詰め
HTML タグを含むテキストを扱う場合、タグの破損やタグの破損を避けるために、切り詰め中に適切な処理を行うことが重要です。無効なコンテンツを表示します。 HTML の整合性を維持しながらテキストを切り詰める方法は次のとおりです。
PHP 実装:
次の PHP 関数は、正規表現を使用して HTML を解析し、オープン スタックを維持します。 tags:
function printTruncated($maxLength, $html, $isUtf8 = true) { ... }
この関数は HTML 入力をスキャンし、タグと文字エンティティを識別します。タグが適切に閉じられていることを確認し、文字エンティティを単一の文字としてカウントします。このアプローチにより、HTML 構造を壊すことなく有効なポイントで切り捨てが行われるようになります。
使用例:
printTruncated(10, '<b><Hello&gt;</b> <img src="world.png" alt="" /> world!'); // Outputs: 'Hello<b></b> <img src="world.png" alt="" />'
Python 実装:
BeautifulSoup のような HTML 解析ライブラリは、Python でのこのタスクに役立ちます:
from bs4 import BeautifulSoup, NavigableString def truncate_html(text, max_length): soup = BeautifulSoup(text, 'lxml') truncated = soup.new_tag("div") tail = soup.new_string('') node_len = 0 for node in soup.children: if isinstance(node, NavigableString): node_len += len(node) if node_len <= max_length: truncated.append(node) else: tail.append(node.string[:max_length - node_len]) break else: node_len += len(str(node)) truncated.append(node) return str(truncated) + str(tail)
使用例:
print(truncate_html('<b><Hello&gt;</b> <img src="world.png" alt="" /> world!', 10)) # Outputs: 'Hello<b></b> <img src="world.png" alt="" />'
結論:
これらのメソッドは、切り詰め中に HTML タグを解析して処理することにより、結果として得られるテキストが意図した構造とコンテンツの有効性を確実に維持します。
以上がタグを壊さずに埋め込み HTML でテキストを切り詰める方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。