по какой-то причине: preg_replace("/\\n/", "<br />", $string);
не работает.
Строка выводится в таком формате: blah blah blah\nblah blah blah
даже после замены preg.
Все, что я хочу сделать, это изменить, если для <br />
.
nl2br()
тоже не работает, но в качестве его простого текста я не был уверен, следует ли это делать.
благодаря
** Обновить **
preg_replace
работает над словом в строке. 🙁
попробуй это
str_replace("\n", "<br />", $string);
Если вы хотите заменить литерал \n
а не фактическую новую строку, попробуйте:
<?php echo preg_replace("/\\\\n/", "<br />", 'Hello\nWorld');
Обратите внимание на количество обратных косых черт. Строка с двойными /\\\\n/
интерпретируется движком PHP как /\\n/
. Эта строка, передаваемая движку preg, интерпретируется как литерал \n
.
Обратите внимание, что оба PHP интерпретируют "\n"
как символ ASCII 0x0A
. Аналогично, движок preg будет интерпретировать '/\n/'
как символ новой строки (не совсем точно, какой из них).
Вы пробовали с помощью нескольких модификаторов строк в вашем RegEx?
preg_replace("/\\n/m", "<br />", $string);