Intereting Posts
Невозможно выполнить java-программу с помощью функции php exec Прочитайте каждую строку файла txt новому элементу массива cakephp 2 – разбиение на страницы за пределами первой страницы не работает событие onclick открывает окно и в поле отправляет его ссылки на php-функцию, которые устанавливают некоторые значения в db Использование PHP и RegEx для извлечения всех значений параметров из исходного кода сайта Используйте числа, начинающиеся с 0 в переменной в php Php Массив массивов получает идентификатор от имени PHP и localStorage; Определение языка браузера в PHP PHP / XPath: найти текстовый узел, который «начинается с» конкретной строки? Не могу понять, почему скрипт php не работает при вызове $ .ajax Добавить дочерний элемент в xml на основе атрибута родительского узла в php PHP Прохождение через путаницу Загрузка изображения, ajax, php, mysql Допустимый размер памяти 268435456 байт исчерпан

Обрезать div вокруг тега <p> с помощью PHP (WordPress)

Я использую WordPress как систему CMS, и я хочу обернуть каждый p-тэг в некоторый HTML, который мне нужен для стилизации и позиционирования на моем веб-сайте. Теперь я нашел фрагмент кода, который делает это чудесно для меня, но он переусердствует прямо сейчас.

Это код PHP:

function tekst_wrapper($content) { // match any p tags $pattern = '~<p.*</p>~'; preg_match_all($pattern, $content, $matches); foreach ($matches[0] as $match) { // wrap matched p tag with div $wrappedframe = '<div>' . $match . '</div>'; //replace original p tag with new in content $content = preg_replace($pattern, $wrappedframe, $content); } return $content; } add_filter('the_content', 'tekst_wrapper'); 

Это добавляет теги div вокруг каждого p-тега. Но для каждого p-тега есть сообщение, он начинает добавлять больше тегов div для каждого p-тега. Итак, скажем, у меня есть четыре p-тега, получившийся HTML будет:

 <div> <div> <div> <div> <p>random text</p> </div> </div> </div> </div> <div> <div> <div> <div> <p>random text</p> </div> </div> </div> </div> <div> <div> <div> <div> <p>random text</p> </div> </div> </div> </div> <div> <div> <div> <div> <p>random text</p> </div> </div> </div> </div> 

Очевидно, это не то, что мне нужно, так как я просто хочу, чтобы каждый тэг p был обернут в один тег div (или что бы ни изменил мой HTML-код). Теперь мои навыки PHP не так уж хороши, но я предполагаю, что foreach заставляет его добавлять теги div для каждого совпадения, которое он находит в массиве $ matches? Есть ли способ исправить это?

Любая помощь приветствуется.