ワードラップ関数の基本的な使用法は、指定された長さでテキストを包むことです。関数プロトタイプは次のとおりです。
<span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-title function_ invoke__">wordwrap</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$width</span></span><span> = </span><span><span class="hljs-number">75</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$break</span></span><span> = </span><span><span class="hljs-string">"\n"</span></span><span> , </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$cut</span></span><span> = </span><span><span class="hljs-literal">false</span></span><span> )
</span></span>$ str :新しい行で処理される元の文字列。
$ width :各行の最大幅を指定し、デフォルト値は75です。
$ break :Newline文字を定義すると、NewLine文字はデフォルトで使用されます。
$ cut : trueの場合、単語は指定された幅でカットされることを余儀なくされ、デフォルト値はfalse 、つまり、whitespace文字でのみ行が破損します。
さまざまなアプリケーションシナリオでは、適切なラインブレーク長が異なります。一般的に言えば、電子メールのコンテンツ、記事、または長いテキストの場合は、テキストをさまざまなデバイスや画面サイズに適切に表示できるように、より短い幅(60〜80文字など)を設定することをお勧めします。ロギングまたはデータ出力の場合、ディスプレイデバイスの制限をこれらのシナリオで考慮する必要がないため、より長いラインブレーク長(120文字など)がより適切になる場合があります。
デフォルトのNewlineは\ nですが、Newlinesはさまざまなプラットフォームで異なって表現される場合があります(たとえば、Windowsは\ r \ nを使用します)。クロスプラットフォームの互換性を確保するために、 WordWordapを呼び出すときに明示的なラインブレークを使用できます。
<span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">wordwrap</span></span><span>(</span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-number">80</span></span><span>, </span><span><span class="hljs-string">"\r\n"</span></span><span>);
</span></span>このアプローチは、特にテキストファイルを処理したり、異なるプラットフォームを介してデータを交換する場合、異なるオペレーティングシステム間の問題のフォーマットを回避するのに役立ちます。
カットパラメーターは、長い単語を強制的に複数の行にカットさせるために使用されます。各ラインの長さが一貫していることを保証するために強制切断が必要になる場合がありますが、単語の完全性を破壊し、テキストの読みやすさに影響を与える可能性があります。一般に、単語を適切な場所でカットできることを確認する場合にのみ、このオプションを有効にすることをお勧めします。たとえば、長いURLを含むテキストを処理する場合、 Cut = Trueを設定して、長いURLオーバーフローを回避できます。
<span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">wordwrap</span></span><span>(</span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-string">"\n"</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span></span>ワードラップ関数はラインブレークを強制する可能性がありますが、あまりにも多くのラインブレークがあまりにも多くのラインブレークにより、テキストが一貫性がなく、読書体験が不十分に見える可能性があります。したがって、適切なラインの破損幅を設定することが非常に重要です。ラインブレークがあまりにも頻繁になっている場合、ユーザーは読書時にコンテキストを失う傾向があります。通常、約80文字のライン破損幅は妥当な妥協です。
HTMLコンテンツを操作する場合、 WordWardを直接使用すると、HTMLタグをまとめてラップし、レイアウトの問題を引き起こす可能性があります。これを回避するために、 WordWardを呼び出す前に、HTMLタグを適切なNewlineで削除または交換できます。簡単な例は、 Strip_Tags関数を使用してHTMLタグを削除してから、ラインを分割することです。
<span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strip_tags</span></span><span>(</span><span><span class="hljs-variable">$htmlContent</span></span><span>);
</span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">wordwrap</span></span><span>(</span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-number">80</span></span><span>, </span><span><span class="hljs-string">"\n"</span></span><span>);
</span></span>時々、元の文字列自体には、すでに複数の段落または新しいライン文字が含まれています。現時点では、各行がループとラインごとの処理を通じて所定の幅標準を満たすことを保証することができます。たとえば、最初にテキストを段落で分割し、次に各段落を書き込みます。
<span><span><span class="hljs-variable">$paragraphs</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">"\n"</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>);
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$paragraphs</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> => </span><span><span class="hljs-variable">$paragraph</span></span><span>) {
</span><span><span class="hljs-variable">$paragraphs</span></span><span>[</span><span><span class="hljs-variable">$key</span></span><span>] = </span><span><span class="hljs-title function_ invoke__">wordwrap</span></span><span>(</span><span><span class="hljs-variable">$paragraph</span></span><span>, </span><span><span class="hljs-number">80</span></span><span>, </span><span><span class="hljs-string">"\n"</span></span><span>);
}
</span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">implode</span></span><span>(</span><span><span class="hljs-string">"\n"</span></span><span>, </span><span><span class="hljs-variable">$paragraphs</span></span><span>);
</span></span>この方法により、各段落は、段落間の空白行を削除することなく、書式設定基準を満たすことが保証されます。
ワードラップ機能はシンプルで使いやすいですが、特に複数回呼び出された場合、非常に大きなテキストを扱うときにパフォーマンスに影響を与える可能性があります。効率を改善するために、次の最適化方法を考慮することができます。
より大きなテキストデータの場合、不要なスペースの削除や不規則なラインブレークのフォーマット、次にワードラップなど、単純な前処理を最初に実行できます。
頻繁にWordwrapに電話する必要がある場合は、毎回計算を避け、キャッシュまたはキャッシュ処理の結果を使用してください。
Wordwrap関数は、PHPの非常に便利なツールであり、開発者が長いテキストコンテンツをフォーマットして読みやすく表示できるようにします。ただし、ラインブレークの長さを正しく設定し、右のラインブレークを選択し、カットパラメーターを慎重に使用することは、テキストディスプレイがエレガントで読みやすくなることを保証する重要な要素です。実際のアプリケーションシナリオに従ってパラメーターを調整し、特別な状況に柔軟に対処することで、ユーザーエクスペリエンスを大幅に改善できます。