gpt4 book ai didi

php - 为 php `str_len ` 获得与 jQuery `.val().length()` 相同的结果

转载 作者:可可西里 更新时间:2023-11-01 12:38:19 25 4
gpt4 key购买 nike

我使用 jQuery 即时计算文本区域的值:

function count_chars () {
count_chars=$('#text_textarea').val().length;
}

...然后在提交时序列化表单,通过 ajax 将 textarea 的文本发送到 php 文件,然后在服务器端验证文本。但是,我遇到了换行符和空格的问题。

当然,如果我只是从文本区域“按原样”获取文本,php 会将每个新行计为两个或 4 个字符(\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 中?

最佳答案

这应该有效:

strlen(str_replace("\r", '', $text)))

解释:

strlen(str_replace(array("\r", "\n"), ' ', $text)))

在这里,您将\r 和\n 替换为空格,因此字符数并没有真正改变。

strlen(preg_replace('/\s+/', ' ', trim($text)))

在这里,您将连续的空白缩减为单个 ' '

关于php - 为 php `str_len ` 获得与 jQuery `.val().length()` 相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11950490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com