странные символы ^ M php не могу идентифицировать - PullRequest
3 голосов
/ 20 мая 2011

Я открываю файл (сохраненный как ISO 8859-1) с помощью терминала (Ubuntu) и вижу, где в новых строках должен быть следующий символ ^M (окруженный XX до и после).

Теперь я запускаю этот код в php, чтобы увидеть, как PHP обрабатывает это:

$text=str_split($text);
var_dump($text);

в var_dump. Я вижу только массив с размером 4 и только 'X' в нем.
Есть идеи, что там происходит?

РЕДАКТИРОВАТЬ: открытый офис переводит ^M правильно на новую строку.

ДРУГОЕ РЕДАКТИРОВАНИЕ: Следующий код ничего не меняет.echo str_replace("\r","XXXXXX",$text); Я запускаю это до str_split

1 Ответ

5 голосов
/ 20 мая 2011

^M не является новой строкой.^J это перевод строки.^M - это символ, который Windows использует перед новой строкой, чтобы показать, что это вызывает разрыв строки.Это также называется «возврат каретки».Escape-последовательность для него: \r.

...