自动双空格式文本区域

时间:2013-03-19 10:27:23

标签: php html nl2br

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

让我们说用户输入:

红色
蓝色
绿色

我想输出nl2br函数

红色

蓝色

绿色

我还需要能够处理双倍空格(例如,如果用户已经放入双倍间距,我不想要更多。

有关如何制作此产品的任何想法?我宁愿在允许用户输入文本的页面中执行此操作。谢谢!

3 个答案:

答案 0 :(得分: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;

答案 1 :(得分:0)

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

答案 2 :(得分:0)

$str = str_replace('<br />', '<br /><br />', nl2br($str));

这将使<br />个标记超出所有行结尾,然后加倍。