Например, у меня есть:
Lorem Ipsum
Dolor Sir Amet
Как содержание $s
, Теперь, если я распечатаю результат htmlspecialchars(nl2br($s))
является:
Lorem Ipsum<br />
<br />
Dolor Sir Amet
Хотя результат, который я хочу получить:
Lorem Ipsum<br /><br /> Dolor Sir Amet
Почему nl2br
не удаляет возврат каретки, хотя он уже вставляет <br />
? Или как правильно использовать nl2br
правильно снять возврат каретки? Потому что это ломает мой SQL. Я использую PHP на Apache в Windows 7. Спасибо.
заменить все переводы строк на <br />
Вы должны использовать расширенную функцию,
вот пример:
<?php
function nl2br2($string) {
$string = str_replace(array("\r\n", "\r", "\n"), "<br />", $string);
return $string;
}
Каждая ОС имеет различные символы ASCII для перевода строки:
windows = \ r \ n
unix = \ n
mac = \ r
Других решений пока нет …