6

我正在使用 JavaScript 和 PHP 来计算字符串长度。一切都很好,除非我计算来自 Chrome 或 Firefox 与 Internet Explorer 的 textarea 字符串长度。新的 textarea 行/换行符在 Internet Explorer 和 PHP 中计算为 2 个字符。但是 Chrome 和 Firefox 将 textarea 行/换行符计算为 1 个字符(而 PHP 和 Internet Explorer 计算为 2)。这是我的问题。任何人都知道如何解决它?

因此,IE 中 textarea 中的 JavaScript 字符数 = 使用 PHP 计算的字符串长度 /// 而 Chrome/Firefox 中 textarea 中的 JavaScript 字符数不等于使用 PHP 计算的字符串长度。

使用的代码:

Javascript  :  document.getElementById("text").value.length

PHP  :  mb_strlen($_POST['text'], 'UTF-8')

关于这个还有其他帖子,主要是以下一篇:Javascript String Length Differs From PHP mb_strlen。但是我的问题的答案不存在,并且在任何其他帖子上都找不到。

感谢您的帮助和建议。

4

1 回答 1

10

Firefox 和 Chrome 仅\n用于换行,而 IE(Opera)也使用\r\n

要获得唯一的结果,请在计算字符串长度之前替换所有出现的 \r\nby\n

于 2011-10-04T01:17:53.967 回答