ホームページ > バックエンド開発 > PHPチュートリアル > PHP 文字列を単語の途中でカットせずに最も近い単語まで切り詰めるにはどうすればよいですか?

PHP 文字列を単語の途中でカットせずに最も近い単語まで切り詰めるにはどうすればよいですか?

DDD
リリース: 2024-12-10 16:54:16
オリジナル
727 人が閲覧しました

How Can I Truncate PHP Strings to the Nearest Word Without Mid-Word Cuts?

PHP 文字列を最も近い単語まで切り詰める

文字列を特定の文字数制限まで切り詰めると、単語の途中で見苦しく切り取られる可能性があります。このニーズに応えるために、最も近い単語の末尾にあるテキストを正確に切り捨てる PHP コード スニペットを検討します。

解決策 1: Wordwrap を使用する

wordwrap 関数指定された最大幅に基づいてテキストを複数の行に分割し、単語の境界で区切ることができます。目的の切り捨てを実現するには、分割テキストの最初の行を単純に利用します。

$truncated = substr($string, 0, strpos(wordwrap($string, $limit), "\n"));
ログイン後にコピー

解決策 2: トークンベースの切り捨て

ただし、解決策 1制限があります。改行文字がカットオフポイントの前に現れると、テキストが途中で切り取られます。これを軽減するために、トークンベースの切り捨てを実装できます。

function tokenTruncate($string, $limit) {
  $tokens = preg_split('/([\s\n\r]+)/u', $string, null, PREG_SPLIT_DELIM_CAPTURE);

  $length = 0;
  $lastToken = 0;
  while ($length <= $limit && $lastToken < count($tokens)) {
    $length += strlen($tokens[$lastToken]);
    $lastToken++;
  }

  return implode(array_slice($tokens, 0, $lastToken));
}
ログイン後にコピー

結論

これらのソリューションを実装することで、PHP 文字列を最も近い単語で効果的に切り捨てることができます。クリーンで意味のある表示を保証します。

以上がPHP 文字列を単語の途中でカットせずに最も近い単語まで切り詰めるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート