shortcode_unautop()
Удаляет оборачивающий тег <p>...</p>, если в нем расположен только шорткод.
1 раз — 0.000067 сек (очень быстро) | 50000 раз — 0.67 сек (очень быстро)
Хуков нет.
Возвращает
Строку
. Измененную строку.
Использование
shortcode_unautop( $pee );
- $pee(строка) (обязательный)
- Текст, который нужно отформатировать.
Примеры
#1 Демонстрация работы
Допустим у нас зарегистрирован шорткод short
. Тогда:
$str = ' <p>[short id="54"]</p> текст [short id="54"] текст <p> [short id="54"] </p> текст <p>[short id="54"] текст</p> Шорткод с содержанием <p>[short align="aligncenter" width="495"]любой текст внутри[/short]</p> '; echo shortcode_unautop( $str ); /* Получим: [short id="54"] текст [short id="54"] текст [short id="54"] текст <p>[short id="54"] текст</p> текст [short align="aligncenter" width="495"]любой текст внутри[/short] */
#2 Какое регулярное выражение используется
Пример того, какое регулярное выражение получается в результате работы функции (зависит от шорткодов которые зарегистрированные в текущий момент) (версия wordpress 4.4):
(?:[\r\n\t ]|\xC2\xA0| )*+(\[(embed|wp_caption|caption|gallery|playlist|audio|video|democracy|democracy_archives|download)(?![\w-])[^\]\/]*(?:\/(?!\])[^\]\/]*)*?(?:\/\]|\](?:[^\[]*+(?:\[(?!\/\])[^\[]*+)*+\[\/\])?))(?:[\r\n\t ]|\xC2\xA0| )*+<\/p>
Заметки
- Global. Массив. $shortcode_tags
Список изменений
С версии 2.9.0 | Введена. |