wordwrap

指定した文字数で文字列を分割する

説明

string wordwrap(
    string $string,
    int $width = 75,
    string $break = "\n",
    bool $cut_long_words = false
)

指定した文字数で、指定した文字を用いて文字列を分割します。 cut_long_wordstrue に設定しないと、 文字列はスペース文字(U+0020) の後でラップされます。

パラメータ

string

入力文字列。

width

文字列を分割するときの文字数。

break

オプションのパラメータ break を用いて行を分割します。 空文字列は指定できません。

cut_long_words

cut_long_wordstrue に設定すると、 文字列は常に指定した width でラップされます。このため、 指定した幅よりも長い単語がある場合には、分割されます (2 番目の例を参照ください)。 false にすると、たとえ width が単語の長さより短かった場合でも、その単語を分割しません。

戻り値

受け取った文字列を指定した長さで分割したものを返します。

変更履歴

バージョン 説明
8.0.0 break が空文字列の場合、 ValueError がスローされるようになりました。 これより前のバージョンでは、 E_WARNING が発生し、false を返していました。

例1 wordwrap の例

<?php
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");

echo $newtext;
?>

上の例の出力は以下となります。

The quick brown fox<br />
jumped over the lazy<br />
dog.

例2 wordwrap の例

<?php
$text = "A very long woooooooooooord.";
$newtext = wordwrap($text, 8, "\n", true);

echo "$newtext\n";
?>

上の例の出力は以下となります。

A very
long
wooooooo
ooooord.

例3 wordwrap の例

<?php
$text = "A very long woooooooooooooooooord. and something";
$newtext = wordwrap($text, 8, "\n", false);

echo "$newtext\n";
?>

上の例の出力は以下となります。

A very
long
woooooooooooooooooord.
and
something

参考

  • nl2br
  • chunk_split