Я боролся с символом новой строки PHP. Я согласен со следующими фактами: PHP_EOL предоставляет нейтральную платформу платформы (\ r, \ r \ n, \ n на основе ОС), и мы можем использовать это для нашей выгоды.Почему PHP_EOL пишет r n в конце каждой строки
Я делаю простой PHP-файл для чтения и записи в моей Mac OS (Yosemite) с помощью XAMPP.
Ниже приведен мой код для записи в файл.
$handle = fopen("test.txt", "a+");
$data = "Hello World." . PHP_EOL;
fwrite($handle, $data);
Выходной файл в файле приведен ниже.
Hello World.\r\n
Примечание: Я проверил это как с fwrite(), так и с file_get_contents(). Нет никакой разницы.
Мой вопрос: При написании файла через запись с помощью PHP_EOL, почему он пишет \ r \ n в конце строки?
У меня нет проблем при вставке новой строки (разрыв строки HTML) путем вызова nl2br() функция. Однако из-за этого характера мой вывод HTML имеет эти символы \ r \ n !!!
Я играл вокруг с большим количеством различных вариантов, как показано ниже
$line = str_replace("\r\n","<br/>",$line); // Does NOT work!
$line = preg_replace('~\r?\n~','<br/>', $line); // Works as that of nl2blr()!
$line = str_replace(PHP_EOL, "<br/>",$line); // Works as that of nl2br()!
над вставкой опциями, по HTML линии излома, но ничего не удаляет это «\ г \ п» от фактического текста!
Я протестировал, введя несколько строк вручную (очевидно, не существует \ r \ n), и этот метод чтения отлично работает без каких-либо \ r \ n. Следовательно, я пришел к выводу, что {PHP_EOL + метод записи файлов} может быть виновником!
Я действительно смущен тем, что мне не хватает?
Любая помощь будет высоко оценена.
Заранее спасибо.
Почему кто-то ответил на этот вопрос? – itsraghz