我有一个文本区域,允许用户输入多行文本。我想强制文本框中的所有内容自动加倍间隔。我使用nl2br输出文本并显示间距。自动双倍空间文本区域
比方说用户类型:
红色
蓝色
绿色
我想nl2br函数输出
红色
蓝色
绿色
我还需要能够处理双重空间(即,如果用户已经放入双倍空间,我不想要更多。
关于如何制作这个的任何想法?我宁愿在允许用户输入文字的页面中进行操作。谢谢!
我有一个文本区域,允许用户输入多行文本。我想强制文本框中的所有内容自动加倍间隔。我使用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;
没有理由把它换成'nl2br()'。 'str_replace()'已经将它们删除后没有新行。 – JJJ 2013-03-19 10:51:02
$str = str_replace('<br />', '<br /><br />', nl2br($str));
这将使<br />
标签的所有行结尾的事后双该米
感谢 - 需要更新我的问题问这是否会处理双空格 – Brandon 2013-03-19 10:32:18
@Brandon检查我的更新答案:) – HamZa 2013-03-19 10:41:11
您复制'(即用户如果以双倍行距已经提出,我不想要更多。) \ r?'我认为你也需要它'\ n?' – 2013-03-19 10:43:05