我有一个包含<textarea>
的表单,我想在服务器端捕获该文本区域中的任何换行符,并将它们替换为<br/>
。
这是否可行?
我试过在textarea
的CSS上设置white-space:pre
,但还不够。
我有一个包含<textarea>
的表单,我想在服务器端捕获该文本区域中的任何换行符,并将它们替换为<br/>
。
这是否可行?
我试过在textarea
的CSS上设置white-space:pre
,但还不够。
nl2br()
函数可以帮助你实现这一点:str_replace
或preg_replace
。$val = str_replace( array("\n","\r","\r\n"), '<br />', $val );
$val = preg_replace( "#\n|\r|\r\n#", '<br />', $val );
str_replace
或preg_replace
,你应该将"\r\n"
放在数组的开头,否则\r\n
序列将被转换为两个<br/>
标签(因为\r
会被匹配,然后\n
会被匹配)。例如:$val = str_replace( array("\r\n", "\n","\r"), '<br />', $val );
或者
$val = preg_replace( "#\r\n|\n|\r#", '<br />', $val );
对于那些不想依赖于nl2br()
的答案:
$newList = ereg_replace( "\n",'|', $_POST['theTextareaContents']);
或者(在这种情况下):
$newList = ereg_replace( "\n",'<br/>', $_POST['theTextareaContents']);
PHP端:从Textarea字符串转换为PHP字符串
$newList = ereg_replace( "\n",'|', $_POST['theTextareaContents']);
PHP端:将PHP字符串转换为TextArea字符串:
$list = str_replace('|', ' ', $r['db_field_name']);