1

爆発を使用して、テキストを断片に分割し、foreach を使用してテキスト内のいくつかのものを探します。

$pieces = explode(' ', $text);

foreach ($pieces as $piece) {
    Some Modification of the piece
}

私の質問ですが、どうすればそれらのピースを元に戻すことができますか? だから私はテキストをワードラップすることができます。このようないくつか:

piece 1 + piece 2 + etc
4

6 に答える 6

3

関数を使用しimplode()ます。

http://php.net/manual/en/function.implode.php

string implode ( string $glue , array $pieces )
string implode ( array $pieces )

編集:おそらくこれまでで最も誤解を招く質問です。

作成中の画像をワード ラップしようとしている場合は、float:left スタイルを使用して、すべての画像を個別の div に入れることができます。

于 2010-08-30T13:00:40.237 に答える
2

これが私の見解です

$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare tincidunt euismod. Pellentesque sodales elementum tortor posuere mollis. Curabitur in sem eu urna commodo vulputate.\nVivamus libero velit, auctor accumsan commodo vel, blandit nec turpis. Sed nec dui sit amet velit interdum tincidunt.";

// Break apart at new lines.
$pieces = explode("\n", $text);

// Use reference to be able to modify each piece.
foreach ($pieces as &$piece)
{
    $piece = wordwrap($piece, 80);
}

// Join the pieces together back into one line.
$wrapped_lines = join(' ', $pieces);

// Convert new lines \n to <br>.
$wrapped_lines = nl2br($wrapped_lines);
echo $wrapped_lines;

/* Output:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare tincidunt<br />
euismod. Pellentesque sodales elementum tortor posuere mollis. Curabitur in sem<br />
eu urna commodo vulputate. Vivamus libero velit, auctor accumsan commodo vel, blandit nec  turpis. Sed nec<br />
*/
于 2010-08-30T15:11:55.957 に答える
2

まず$piece、ループ インラインでそれぞれを変更する場合は、項目を参照としてループする必要があります。

foreach ($pieces as &$piece)

ループが終了したら、次を使用して単一の文字列を再度生成できますjoin()

$string = join(' ', $pieces);

(への最初のパラメーターjoin()は、ピースを接着するセパレーターです。アプリケーションに最も適したものを使用してください。)

于 2010-08-30T13:02:57.707 に答える
1

これまでのすべての答えは、それを実際よりもはるかに難しくしています。変更するときに元に戻してみませんか?これがあなたが探しているものだと思います。

$pieces = explode(' ', $text);

// text has already been passed to pieces so unset it
unset($text);

foreach ($pieces as $piece) {
    Some Modification of the piece
    // rebuild the text here
    $text .= {MODIFIED PIECE};
}

// print the new modified version
echo $text;
于 2010-08-30T15:10:32.990 に答える
0

質問は非常に紛らわしいですが、このようなものはうまくいきますか:

$new = implode(' ', $pieces);
echo wordwrap($new, 120); // wordwrap 120 chars
于 2010-08-30T14:17:21.260 に答える
0

$pieces = implode(' ', $pieces);

于 2010-08-30T13:03:17.890 に答える