@ligisayan

Как заменить фразу в контенте кроме подписей внутри картинок?

Всем привет! Есть сайт на wordpress и необходимость по всему сайту найти фразу текста и обрамить его в тег span c классом.

Делаю вот так

function replace_content($content)
{
$content = str_replace('Company Name', '<span class="company">Company Name</span>',$content);
return $content;
}
add_filter('the_content','replace_content');


и всё бы хорошо, если бы не картинки c подписью alt, которые надо обойти стороной, чтобы не сломалась вёрстка. Как это можно сделать? Догадываюсь, что нужно бы прописать регулярку, но ломаю голову и пока не могу придумать каким образом.
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
Догадываюсь, что нужно бы прописать регулярку
Догадка объяснимая, но неверная, в конечном итоге.
Для изменения произвольного HTML нельзя надёжно использовать регулярные выражения.
Нужно использовать готовые парсеры, которые понимают разметку HTML и умеют обрабатывать ошибки, допущенные в ней (например, DOMDocument::loadHTML). И в итоговом дереве уже рекурсивно делать, что требуется.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы