我有一个文本区域,允许用户输入多行文本。我想强制文本框中的所有内容自动双倍行距。我正在使用 nl2br 输出文本并显示间距。
假设用户类型:
红色
蓝色
绿色
我希望 nl2br 函数输出
红色的
蓝色的
绿色
我还需要能够处理双倍空格(即,如果用户已经输入了双倍空格,我不想要更多。
关于如何制作这个的任何想法?如果可能,我宁愿在允许用户输入文本的页面中执行此操作。谢谢!
$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;
$str = nl2br(str_replace(PHP_EOL, '<br><br>', $str));
echo $str;
$str = str_replace('<br />', '<br /><br />', nl2br($str));
这将使<br />
标签脱离所有行尾,然后将它们加倍。