【问题标题】:Javascript String Length Differs From PHP mb_strlen (on textarea row, line breaks)Javascript 字符串长度与 PHP mb_strlen 不同(在 textarea 行上,换行符)
【发布时间】:2011-11-30 07:58:39
【问题描述】:

我使用 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。但是我的问题的答案不存在,并且在任何其他帖子中都找不到。

感谢您的帮助和建议。

【问题讨论】:

    标签: php javascript string-length


    【解决方案1】:

    Firefox 和 Chrome 仅使用 \n 进行换行,而 IE(opera 也是)使用 \r\n

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-22
      • 1970-01-01
      • 1970-01-01
      • 2019-12-17
      • 2012-12-27
      • 2016-08-17
      • 1970-01-01
      相关资源
      最近更新 更多