loc*_*ock 19 html php textarea line-breaks
我有一个带有a的表单,<textarea>我想在服务器端捕获该textarea中的任何换行符,并用a替换它们<br/>.
那可能吗?
我试着设置white-space:pre上textarea的CSS,但它仍然是不够的.
小智 9
nl2br()存在这样的函数:
但是,这个函数添加了br标签,但实际上并没有删除新行 - 这通常不是问题,但如果你想完全剥离它们并捕获回车,你应该使用一个str_replace或者preg_replace
我认为str_replace会稍微快点但我还没有基准测试;
$val = str_replace( array("\n","\r","\r\n"), '<br />', $val );
Run Code Online (Sandbox Code Playgroud)
要么
$val = preg_replace( "#\n|\r|\r\n#", '<br />', $val );
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您打算使用str_replace或者preg_replace,您应该将数据放在"\r\n"数组的开头,否则\r\n序列将被转换为两个<br/>标记(因为\r将匹配,然后\n匹配).
例如:
$val = str_replace( array("\r\n", "\n","\r"), '<br />', $val );
Run Code Online (Sandbox Code Playgroud)
要么
$val = preg_replace( "#\r\n|\n|\r#", '<br />', $val );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24311 次 |
| 最近记录: |