I am using JavaScript as well as PHP to calculate string lengths. Everything is OK except when I calculate a textarea string length coming from Chrome or Firefox versus Internet Explorer. New textarea rows/linebreaks are calculated as 2 chars in Internet Explorer and PHP. But Chrome and Firefox calculate textarea rows/linebreaks just as 1 char (versus PHP and Internet Explorer calculates as 2). This is my problem. Anyone knows how to resolve it?
So JavaScript char count in a textarea in IE = the string length calculated with PHP /// And JavaScript char count in a textarea in Chrome/Firefox does not equal the string length calculated with PHP.
Code used:
Javascript : document.getElementById("text").value.length
PHP : mb_strlen($_POST['text'], 'UTF-8')
There are other posts about this, mainly the following one: Javascript String Length Differs From PHP mb_strlen . But the answer to my question is not there and couldn't find it on any other posts.
Thanks for your help and suggestions.
Firefox and Chrome use only \n
for linebreaks while IE(opera too) uses \r\n
To get unique results replace all occurrences of \r\n
by \n
before counting the string-length
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With