Wpautop() - заменяет переносы строк на HTML-теги в WordPress
Опубликовано: 01.09.2018
Заменяет все двойные переносы строк в тексте на параграфы, т.е. заключает абзац в теги <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 \r \n "; $headers .= "From: {$_POST['name']} < {$_POST['email']} > \r \n "; mail ( get_option ( 'admin_email' ) , "Тут тема" , wpautop ( $_POST [ 'message' ] ) , $headers ) ; |
Для того, чтобы HTML-теги интерпретировались в письмах, а не выводились как текст, Content-type обязательно должен быть text/html.