Неправильное поведение функции PHP strlen () в подсчете enterkey

Я пытаюсь найти количество следующего текста в PHP с помощью strlen() функция,

<?php
$a=" VII,C :06/11 ENG:TRANSLATION HUMAN BODY STRUCTURE
TAM:FINISH CW &PULAVAR BOOK
MAT:LEARN LN-1
SOC:GEO:-1 CHOOSE,FILL UPS&MATCH
SCI:MATTER&ITS NATURE.
";
?>

Возвращает длину 155 символов.

Вы можете запустить образец здесь http://codepad.org/qIJ0fBEj

и я удалил пять пробелов и запустил приведенный ниже код,

<?php
$a=" VII,C :06/11 ENG:TRANSLATION HUMAN BODY STRUCTURETAM:FINISH CW &PULAVAR BOOKMAT:LEARN LN-1SOC:GEO:-1 CHOOSE,FILL UPS&MATCHSCI:MATTER&ITS NATURE.";
echo strlen($a);
?>

проверьте образец здесь http://codepad.org/JDFy6Y1t

Возвращает 145. Как 5 клавиш ввода занимают 10 отсчетов ??

2

Решение

Бьюсь об заклад, этот вход пришел с компьютера Windows. Новая строка на самом деле возврат каретки (\r) а также символ новой строки (\n). таким образом два символы для каждой новой строки.

4

Другие решения

+1 для Джона, возврат каретки является проблемой. Ты можешь использовать str_replace удалить все возврат каретки из строки.

$a = str_replace("\r\n", "\n", $a); // in windows
1

По вопросам рекламы [email protected]