wpautop() — заменяет переносы строк в тексте на HTML-теги

Заменяет все двойные переносы строк в тексте на параграфы, т.е. заключает абзац в теги <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:

результат действия функции wpautop

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

Если никак не обработать текст, получаемый из <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.

Источник: misha.blog

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: