1

我有一个文本区域,允许用户输入多行文本。我想强制文本框中的所有内容自动双倍行距。我正在使用 nl2br 输出文本并显示间距。

假设用户类型:

红色
蓝色
绿色

我希望 nl2br 函数输出

红色的

蓝色的

绿色

我还需要能够处理双倍空格(即,如果用户已经输入了双倍空格,我不想要更多。

关于如何制作这个的任何想法?如果可能,我宁愿在允许用户输入文本的页面中执行此操作。谢谢!

4

3 回答 3

3

使用str_replace()PHP_EOL

$str = 'red
blue
green';

$str = str_replace(PHP_EOL, '<br><br>', $str);
echo $str;

编辑: 使用正则表达式:

$str = 'red

blue



green
blue';

$str = preg_replace(array('/(\r?\n)+/', '/\r?\n/'),array(PHP_EOL,'<br><br>'), $str);
echo $str;
于 2013-03-19T10:29:23.160 回答
0
$str = nl2br(str_replace(PHP_EOL, '<br><br>', $str));
echo $str;
于 2013-03-19T10:30:14.820 回答
0
$str = str_replace('<br />', '<br /><br />', nl2br($str));

这将使<br />标签脱离所有行尾,然后将它们加倍。

于 2013-03-19T10:34:09.433 回答