Заменяет все двойные переносы строк в тексте на параграфы, т.е. заключает абзац в теги <p></p>
, также при определенных значениях параметров будет заменять оставшиеся одинарные переносы строк на <br />
.
“Одинарные” переносы строк (но не двойные), находящиеся в тегах <script></script>
или в <style></style>
игнорируются.
В WordPress эта функция используется для фильтрации the_content()
и the_excerpt()
.
wpautop( $foo, $br = true );
$foo
(строка) (обязательное) — кусок текста, который необходимо обработать.
$br
(логическое|целое) (необязательное) — если установлено true
или 1
, то все “одинарные” переносы строк, оставшиеся после замены двойных на <p></p>
, будут преобразованы в <br />
.
Примеры использования
Простой пример:
$foo = 'текст с двойными и одинарными переносами строк'; echo wpautop ( $foo );
Вот скриншот того, что получилось из исходного код (Ctrl + U) в Google Chrome:
Теперь рассмотрим более полезный на практике пример. Если вам приходилось делать форму обратной связи на сайте, вы понимаете о чем я говорю.
Если никак не обработать текст, получаемый из <textarea>
, то в письме он весь становится в одну строчку, то есть абсолютно сплошной текст, который неудобно читать.
$headers = "Content-type: text/html; charset=utf-8 rn"; $headers .= "From: {$_POST['name']} <{$_POST['email']}>rn"; mail(get_option('admin_email'), "Тут тема", wpautop($_POST['message']), $headers);
Для того, чтобы HTML-теги интерпретировались в письмах, а не выводились как текст, Content-type
обязательно должен быть text/html
.