0

wordwrap 関数の内部メカニズムを理解したい:

string wordwrap ( string $str [, int $width = 75 [, string $break = "\n" [, bool $cut = false ]]] )

$cut = false を使用している場合、wordwrap は単語区切りが見つかった場所でのみ分割されます。これは、次の例に基づくスペース文字であると想定しています。

$str = wordwrap("--------------  ------", '5', 'b', false);
echo $str;
//Result: --------------b ------

私の質問は、この関数がどこを壊すかをどのように決定するのですか? 幅の位置に最も近いスペース文字のみを検索しますか? 休憩を許可する他のキャラクターはいますか?

4

2 に答える 2

1

' 'これは文書化されていませんが、単語の境界を決定するためにスペース文字を使用します。その後に見つかった最初のスペース文字$widthは、文字に置き換えられ$breakます。

以下も参照してください。ext/standard/string.c

2015-04-22 更新

これは、このバグ レポートに基づいて、ドキュメントで対処されています。

于 2013-01-29T07:25:31.383 に答える
0

PHP Web サイトで美しいドキュメントを参照できないのはなぜですか?

文字列区切り文字を使用して、文字列を指定された数の文字にラップします。

<?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.
于 2013-01-29T05:11:02.080 に答える