我使用 jQuery 即时计算 textarea 的值:
function count_chars () {
count_chars=$('#text_textarea').val().length;
}
...然后在提交序列化表单时,通过 ajax 将 textarea 的文本发送到 php 文件,然后在服务器端验证文本。但是,我遇到了换行符和空格的问题。
当然,如果我只是从 textarea 中获取文本“原样”,php 会将每个新行计为两个或四个字符(\n
,...)。所以我试图用这样的东西替换它们:
strlen(str_replace(array("\r", "\n"), ' ', $text)))
或这个:
strlen(preg_replace('/\s+/', ' ', trim($text)))
但是,如果我得到例如 10 个段落并且 jQuery 返回 2500 个字符,则 php 将返回 2510 或 2490,这取决于我是用空格替换新行还是完全删除它们。所以相差20,但只有10个新行......?
我错过了什么?如何让 php 返回与 jQuery 相同的结果?问题出在哪里,在 php 中还是在 jQuery 中?