Как заменить данные в записях WordPress используя регулярные выражений в PHP

Admin WordPress

Уже имеется заметка, как массово поменять текст в WordPress. В этой же статье разберу замену текста при выводе записей (the_content), а также использование регулярных выражений.

Замена текста с помощью PHP в записях WordPress

Разберем регулярные выражения на примере поиска и замены как самого текста, так и элементов внутри определенных дивов при выводе информации в WordPress .

Для удобства замены преобразуем вывод поста в переменную

Контент записи в WordPress выводится функцией:

the_content()

Положим содержимое функции вывода поста (the_content) в переменную $content:

$content = apply_filters( 'the_content', get_the_content() );

Теперь мы можем выводить содержимое поста таким образом:

echo $content;

Удаление данных с помощью preg_replace

Теперь для удаления данных со страницы записи WordPress используем такую конструкцию, которая изменит содержимое переменной $content. А именно найдет в данных нужный нам текст, структуру html и любое другое содержимое, а затем удалит её со страницы.

Удаление содержимого в конкретном див теге (с конкретным классом):

$content = preg_replace('/(<div.*?class="price"[^>]*>)(.*?)(<\/div>)/i', '$1$3', $content);

Удаление всего конкретного див тега:

$content = preg_replace('/(<div.*?class="price"[^>]*>)(.*?)(<\/div>)/i', '', $content);

Остальные примеры можно найти в статье про preg_replace.

Вывод данных с помощью preg_match

Вместо предыдущей функции preg_replace, где мы убираем текст, с помощью preg_match можно находить конкретные данные и сохранять их в переменную для последующего вывода.

preg_match("/<h2>(.*?)<\/h2>/s", $post->post_content, $matches);

где:

$post->post_content"

то, где мы ищем, в данном случае мы ищем информацию в записи WordPress страницы.

Когда мы нашли мы можем вывести эту запись в любом другом месте.

Вывод записи:

print($matches [0]);

Или даже сохранить в произвольное поле, содержимое которого также можем вывести в любом другом месте.

Больше примеров смотрите в статье о preg_match.

У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.

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

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Как заменить данные в записях WordPress используя регулярные выражений в PHP"