我在使用字符 ¦
时注意到问题。对于 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/