Chr*_*ris 8 javascript php jquery strlen
我使用jQuery来动态计算textarea的值:
function count_chars () {
count_chars=$('#text_textarea').val().length;
}
Run Code Online (Sandbox Code Playgroud)
...然后提交序列化表单,通过ajax将textarea的文本发送到php文件,然后验证服务器端的文本.但是,我遇到了换行符和空格问题.
当然,如果我只是从textarea获取"原样"的文本,php会将每个新行计为两个或四个字符(\n,...).所以我试着用这样的东西替换它们:
strlen(str_replace(array("\r", "\n"), ' ', $text)))
Run Code Online (Sandbox Code Playgroud)
或这个:
strlen(preg_replace('/\s+/', ' ', trim($text)))
Run Code Online (Sandbox Code Playgroud)
但是,如果我得到例如10个段落并且jQuery返回2500个字符,则php将返回2510或2490,这取决于我是用空格替换新行还是完全删除它们.所以差异是20,但只有10个新线......?
我错过了什么?我怎样才能让php返回与jQuery相同的结果?问题出在哪里,在php或jQuery中?
这应该有效:
strlen(str_replace("\r", '', $text)))
Run Code Online (Sandbox Code Playgroud)
解释:
strlen(str_replace(array("\r", "\n"), ' ', $text)))
在这里,您将 \r 和 \n 替换为空格,因此字符数并没有真正改变。
strlen(preg_replace('/\s+/', ' ', trim($text)))
在这里,您将连续的空白减少为单个' '.
| 归档时间: |
|
| 查看次数: |
3008 次 |
| 最近记录: |