Перевод строки в тексте: \n, \r или \r\n
- В разных операционных системах перевод строки обозначается по-разному:
- GNU/Linux — \n;
- Apple Macintosh (Mac) — \r;
- Microsoft Windows — \r\n.
Это следует учитывать при составлении шаблонов регулярных выражений для соответствующих функции PHP и, чтобы парсинг производился правильно, можно использовать вместо них универсальную экранирующую последовательность «\R», которая соответствует любому из трёх, указанных выше, вариантов:
<?php
$string_n = "\n";
$string_r = "\r";
$string_rn = "\r\n";
var_dump( preg_match( '=\R=', $string_n ) ); // int(1)
var_dump( preg_match( '=\R=', $string_r ) ); // int(1)
var_dump( preg_match( '=\R{2}=', $string_rn ) ); // int(0)
?>
В коде выше, в последнем поиске соответствий, указан шаблон '=\R{2}='
, чтобы показать, что управляющий символ «\R» соответствует последовательности «\r\n» как одному символу.