2011-10-04 44 views
5

Tôi đang sử dụng JavaScript cũng như PHP để tính toán độ dài chuỗi. Mọi thứ đều OK trừ khi tôi tính toán độ dài chuỗi văn bản đến từ Chrome hoặc Firefox so với Internet Explorer. Các hàng/dòng văn bản mới được tính là 2 ký tự trong Internet Explorer và PHP. Tuy nhiên, Chrome và Firefox tính toán các hàng/dòng văn bản chỉ bằng 1 char (so với PHP và Internet Explorer tính là 2). Đây là vấn đề của tôi. Bất cứ ai cũng biết làm thế nào để giải quyết nó?Độ dài chuỗi Javascript Khác với PHP mb_strlen (trên dòng văn bản, ngắt dòng)

Vì vậy, số lượng char JavaScript trong một vùng văn bản trong IE = độ dài chuỗi được tính bằng PHP /// Và số lượng char JavaScript trong vùng văn bản trong Chrome/Firefox không bằng độ dài chuỗi được tính bằng PHP.

Mã sử ​​dụng:

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

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

Có bài viết khác về vấn đề này, chủ yếu là sau một: Javascript String Length Differs From PHP mb_strlen. Nhưng câu trả lời cho câu hỏi của tôi là không có và không thể tìm thấy nó trên bất kỳ bài viết khác.

Cảm ơn sự giúp đỡ và đề xuất của bạn.

Trả lời

9

Firefox và Chrome chỉ \n cho xuống hàng sử dụng trong khi IE (opera quá) sử dụng \r\n

Để có được kết quả độc đáo thay thế tất cả các lần xuất hiện của \r\n bởi \n trước khi đếm chuỗi dài

Các vấn đề liên quan