Intereting Posts
Разбиение страницы с помощью AWS DynamoDB с PHP Косинус сходство против расстояния Хэмминга Ошибка при печати Gzzle Curl 60 SSL не может получить локальный эмитент Как передать сессию новому сокету через fsockopen? PHP-скрипт – определить, работает ли Linux или Windows? Социальные иконки, не работающие с бесконечной прокруткой на WordPress Создать базу данных в Shell Script – конвертировать из PHP Magento – Пользовательский платежный модуль Получите все файлы всех подпапок и всего скрытого файла с помощью glob PHP> Как пропустить элемент при использовании json_encode Проверьте, существует ли столбец в таблице Mysql через php Как использовать CURL вместо file_get_contents? Есть ли библиотека, которая может писать CSV-файл RFC 4180 с PHP? PHP – сохранить входную переменную для статического повторного использования В CakePHP, где я бы поставил метод, который выполняет проверку на пользователя сеанса?

Напротив nl2br? Это str_replace?

Таким образом, функция nl2br удобна. За исключением моего веб-приложения, я хочу сделать наоборот, интерпретировать разрывы строк как новые строки, так как они будут отражены в предварительно заполненной форме.

str_replace может занять <br /> и заменить его на все, что захочу, но если я вложу \ n, это будет означать обратную косую черту и n. Он работает только в том случае, если я помещаю буквальный разрыв строки в середине моего скрипта и разбиваю отступ (поэтому нет конечного пространства).

Видеть:

  <?=str_replace('<br />',' ',$foo)?> 

Я пропускаю escape-символы? Я думаю, я пробовал каждую комбинацию …

Related of "Напротив nl2br? Это str_replace?"

Вы пишете '\n' ? Поскольку \ n будет интерпретироваться правильно, если вы окружите его двойными кавычками: "\n" .

Off: синтаксис <?= Является злым. Пожалуйста, не используйте его для других разработчиков в вашей команде.

Вероятно, будут ситуации, когда вашего кода недостаточно; поэтому, как насчет чего-то подобного, чтобы сделать вашу замену:

 $html = 'this <br>is<br/>some<br />text <br />!'; $nl = preg_replace('#<br\s*/?>#i', "\n", $html); echo $nl; 

т.е. немного сложнее простого str_replace 😉

Примечание. Обычно я бы сказал, что не следует использовать регулярное выражение для управления HTML-кодом, но в этом случае рассмотрение регулярного выражения будет довольно простым, я полагаю, что все будет в порядке.

Кроме того, обратите внимание, что я использовал "\n"

  • т.е. новая строка: \n
  • в строке с двумя кавычками , поэтому она интерпретируется как новая строка , а не буквальная \n

В основном, тег с тегом обычно выглядит так:

  • <br>
  • или <br/> , с любым количеством пробелов перед /

И второй момент заключается в том, что str_replace недостаточно .

Вы бы хотели:

 <?=str_replace('<br />',"\n",$foo)?> 

Вероятно, вы забыли использовать двойные кавычки. Строки анализируются только для специальных символов, если вы используете двойные кавычки.

Я просто пропустил nl2br() и использовал это по-другому следующим образом:

 $post_content = str_replace('\n',"<br />",$post_content ); 

и все работает нормально.

Для полного описания, пожалуйста, посетите мой блог, здесь:

Как использовать nl2br и reverse br2nl

  <?php echo strip_tags('Dear<br/>Bidibidi'); ?> Dear Bidibidi <?php echo nl2br('Dear Bidibidi'); ?> Dear<br/>Bidibidi 

http://php.net/manual/tr/function.strip-tags.php

Альтернатива ответу @PascalMARTIN

 $string = stri_replace(array( '<br>', '<br/>', '<br />', ), "\n", $string); 

Он не работает с несколькими пробелами типа <br /> но это должен быть очень редкий случай.