ホームページ >バックエンド開発 >PHPチュートリアル >単語の境界を維持しながらマルチバイト文字列を切り詰めるにはどうすればよいですか?

単語の境界を維持しながらマルチバイト文字列を切り詰めるにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-18 02:58:10124ブラウズ

How Can I Truncate a Multibyte String While Preserving Word Boundaries?

単語境界制御によるマルチバイト文字列の切り詰め

質問:

文字列を切り詰めるにはどうすればよいですか?マルチバイト文字列を指定された文字数に変換し、単語を維持します境界?

切り捨ての手順:

  1. 必要な文字数からターミネータ文字列の長さを減算して、切り捨ての最大長を計算します。
  2. 文字列が最大長より長いかどうかを確認します。そうでない場合は、変更されていない文字列を返します。
  3. 計算された切り捨て長内の最後のスペース文字を見つけます。
  4. スペースが見つからない場合は、最後のスペース文字または計算された長さで文字列を切り捨てます。
  5. 切り詰められた文字列に終端文字列を追加します。
  6. 変更された文字列を返しますstring.

実装 (マルチバイト文字サポートに mb_strimwidth を使用):

function truncate_with_words($string, $chars = 50, $terminator = '...') {}

[実装]

以上が単語の境界を維持しながらマルチバイト文字列を切り詰めるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。