str_replace не заменяет новые строки, полученные из текстовой области формы

У меня есть текстовая область, написанная в html. Я хочу получить его текст с помощью PHP, но я хочу заменить новые строки тегами ‹ br / >. Затем полученная строка записывается в текстовый файл.

$puhdas['arvostelu'] = str_replace(array("\r\n", "\n", "\r"), '<br />', strip_tags($_POST['arvostelu']));

Почему это не заменяет их? Я все еще вижу, как символы новой строки разбивают текст в текстовом файле, который создает PHP.


person Tiivi Taavi    schedule 15.10.2012    source источник
comment
вы можете добавить var_dump(strip_tags($_POST['arvostelu'])) нравится, чтобы увидеть результат   -  person Baba    schedule 15.10.2012
comment
Я обнаружил проблему, я использовал неправильное имя переменной ($_POST вместо $puhdas) в функции fwrite. Я предполагаю, что здесь нельзя удалять вопросы.   -  person Tiivi Taavi    schedule 16.10.2012


Ответы (1)


В PHP уже есть nl2br.

$puhdas['arvostelu'] = nl2br(strip_tags($_POST['arvostelu']));

Обратите внимание, что они также могут быть \t вместо \n.

person Baba    schedule 15.10.2012
comment
К сожалению, использование nl2br не решает эту проблему. vardump показывает, как должно быть, но txt файл, который я пишу, показывает разрыв строки. - person Tiivi Taavi; 16.10.2012
comment
Я попросил у вас вывод var_dump, но вы его не отправили.. откуда я могу знать, с чем вы имеете дело.... добавьте дамп var в pastebin.. чтобы я мог просмотреть - person Baba; 16.10.2012