php - 尝试向文本输入添加字符限制,但 javascript 和 php 显示不同的字符串长度

标签 php javascript

我在使用字符 ¦ 时注意到问题。对于 3000 个字符的限制,我可以用 3000 个符号填充文本区域。显示字符串长度的 javascript 显示 3000,当我发布文本时,php 显示它是 3000。如果我尝试 3000 的 ¦ 然后 javascript 再次显示 3000,但 php 显示更多,在 5000 的范围内。 ¦ 有一个 html 代码 ¦¦ 所以我不知道为什么 php 显示问题。这是为什么?

编辑:PHP 显示每个 ¦ 的字符串长度为 2,而其他字符通常为 1。我注意到任何 ASCII 码大于 160 的字符的 php 字符串长度为2: http://www.ascii.cl/htmlcodes.htm

最佳答案

您可能正在处理多字符 UTF-8 字符。要正确计算这些,假设您的文件实际上是 UTF-8,试试这个:

mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8"); // Not actually needed in this case, but add it if you use preg_ functions
echo mb_strlen("¦");

mb_* functions旨在处理多字节字符。

关于php - 尝试向文本输入添加字符限制,但 javascript 和 php 显示不同的字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16976695/

相关文章:

javascript - 尝试从 mysql 数据库传递信息以做出 native react

php - 不同应用平台之间共享 session

php - 如何正确使用 HTTP_X_FORWARDED_FOR?

php - 动态创建多维数组

javascript - 使 <a> 链接不执行默认功能

javascript - 如何在严格模式下找到匿名函数的元数?

javascript - 图表.js : set vertical Label Orientation

php - 从数据库中获取数据并在 php 中使用循环

javascript - 如何防止 Bootstrap 模式对话框的背景覆盖整个屏幕?

php - 将 JavaScript 变量传递给 PHP