首页 > 后端开发 > 正文

textarea输入的换行符用php的explode("\r\n", $body)为什么会在每个字符串后面多一个换行?

2024-12-16 03:07:54 | 我爱编程网

我爱编程网小编给大家带来了textarea输入的换行符用php的explode("\r\n", $body)为什么会在每个字符串后面多一个换行?相关文章,一起来看一下吧。

本文目录一览:

textarea输入的换行符用php的explode(

php关于textarea中换行、回车、空格的识别与处理

在使用 textarea 输入文字后,如何在提交至后台并返回页面时保持原有格式,包括换行、回车、空格等特殊字符?为了实现这一需求,需要了解浏览器的兼容性问题。

在 IE9 及以上版本、Firefox、Chrome 等主流浏览器中,换行符识别通常采用 “/” 格式;而在 IE7-8 中,识别换行符则需分两步:首先匹配 “\r”,接着匹配 “/”。

针对这一问题,有两种解决策略:

1. 替换特殊字符:将 “\r” 和 “\s” 分别替换为对应的字符串或特殊标记。这样替换后的文本能够被浏览器正确解析,从而显示为原样,包括换行、空格等格式。

具体实现方法如下:

例如,将 “\r” 替换为 “\n”,将 “\s” 替换为 “ ”。这使得文本在显示时能够保持原有的换行和空格。

2. 替换为 ASCII 码:将 “\r” 替换为 ASCII 码的 chr(10),将 “\s” 替换为 chr(32)。这种方式下的文本虽然在其他地方无法解析为特殊字符,但在网页中显示时则能以 ASCII 码的形式直接显示出换行、空格等效果。

实现步骤如下(以 JavaScript 为例):

将 “\r” 替换为 “\u000A”,将 “\s” 替换为 “\u0020”。这样替换后的文本以 HTML 格式显示时,不会被解析为特殊字符,而是直接以字符形式显示。

需要注意的几点:

1. 使用 `str.replace('aa','dd')` 方法替换字符串时,仅替换第一次出现的“aa”。若需替换全部出现的“aa”,应使用正则表达式写法:`str=str.replace(/aa/g,'dd');`。

2. 使用 `document.getElementById("ts").value.indexOf(" ")` 来获取字符串中空格出现的第一次位置,以此判断字符串是否包含空格。

textarea输入的换行符用php的explode(

php怎样获取数据库中的值并输出到textarea

先连接数据库
$con = mysql_connect($server,$username,$password);
然后选择某个schema
mysql_select_db($dbname,$con)
然后写好一个sql语句$query_str
调用下面的方法query
mysql_query($query_str,$con)
返回值就是查询结果

textarea输入的换行符用php的explode("\r\n", $body)为什么会在每个字符串后面多一个换行?

我爱编程网(https://www.52biancheng.com)小编还为大家带来textarea输入的换行符用php的explode("\r\n", $body)为什么会在每个字符串后面多一个换行?的相关内容。

客户端发来的textarea的内容用explode("\n", $body)来切分,不要用\r\n,无论客户端、服务端是Linux还是Windows都一样。
explode返回的结果就是你要的了,不要用str_replace来替换了 我爱编程网

以上就是我爱编程网小编给大家带来的textarea输入的换行符用php的explode("\r\n", $body)为什么会在每个字符串后面多一个换行?,希望能对大家有所帮助。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“textarea输入的换行符用php的explode("\r\n", $body)为什么会在每个字符串后面多一个换行?”相关推荐