Удалите все HTML-теги из содержимого продукта и сохраните заново.

Вопрос или проблема

Мой клиент загрузил около 500 товаров в Woocommerce, но случайно вставил кучу лишних тегов в описание продукта — div и span и т. д., как показано ниже:

<div class="summary entry-summary">
Цвета — Розовый, Бордовый, Пыльная роза, Лиловый, Темно-синий, Шалфей
Размеры — XS- 3XL
</div>

Какой был бы самый простой способ убрать все, кроме содержимого с простым текстом, и сохранить “очищенное” описание продукта?

Я пробовал решение, предложенное на Filter/Remove HTML Elements on all posts and pages, но оно, кажется, ничего не сделало.

Если нет никаких CSS-классов с названиями этих span, то нет необходимости их удалять, так как они не изменят визуальный вид вывода.

Но существуют плагины поиска и замены, которые могут сделать это за вас. (Мой любимый — “Search and Replace Plugin”.) Вам просто нужно быть очень осторожным в том, как вы указываете строку поиска, поэтому резервное копирование базы данных действительно важно.

Если вы хотите удалить все ‘span’, например, есть регулярные выражения, которые вы можете использовать. Они довольно специфичны, и regex не прост, но в интернете (например, Google, Bing, DuckDuckGo) много информации, чтобы помочь вам с процессом.

Вы также можете использовать phpMyAdmin для прямого взаимодействия с базой данных. Это требует немного больше опыта; вы не упомянули ваш уровень опыта.

И снова, резервные копии базы данных перед началом работы важны. Вы даже можете клонировать сайт для ‘практики’.

Ответ или решение

Введение новых продуктов в систему управления контентом, такую как WooCommerce, может сопровождаться определенными техническими сложностями, особенно когда речь идет о корректировке имеющихся данных. В описанном вами случае необходимо удалить неуместные HTML-теги из содержимого описаний товаров и сохранить «очищенные» данные. Рассмотрим подходы и решения, которые помогут вам добиться желаемого результата, и сопутствующие этому шаги для обеспечения успеха и минимизации ошибок.

Теория

При добавлении содержимого через визуальные редакторы, некоторые пользователи могут случайно вставить лишние HTML-теги, такие как <div> или <span>, что добавляет ненужные усложнения в исходный код страницы. Для упрощения и обеспечения единообразного отображения информации, необходимо оставить только текстовую часть без тегирования. Этот процесс называют «очисткой» HTML.

Прежде чем приступать к изменениям, важно осознавать, что неаккуратные редактирования могут повредить базу данных. Соответственно, до начала работы над проектом настоятельно рекомендуется создать полную резервную копию базы данных. Это позволит восстановить информацию в случае возникновения ошибок и обеспечит безопасность всех вложенных данных.

Пример

Рассмотрим конкретный пример, когда в описания продукции на WooCommerce случайно добавлены ненужные HTML-теги. Вот пример того, как может выглядеть описание:

<div class="summary entry-summary">
    Colours – Blush, Burgundy, Dusty Rose, Mauve, Navy, Sage
    Sizes – XS-3XL
</div>

Задача – оставить только: «Colours – Blush, Burgundy, Dusty Rose, Mauve, Navy, Sage Sizes – XS-3XL».

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

Применение

  1. Плагины для WordPress: Плагины, такие как «Search and Replace Plugin», предоставляют удобный способ выполнения массовых исправлений на веб-сайтах WordPress. Они позволяют выполнять поиск и замену текстовых фрагментов на основе заданных вами параметров. Примером может быть удаление <span> и <div> тегов, где регулярные выражения могут оказаться кстати.

  2. Регулярные выражения (Regex): Создайте регулярное выражение, которое будет находить все вхождения HTML-тегов и удалять их. Например, выражение <[^>]+> найдет и удалит все HTML-теги. Тестирование этих выражений можно провести с использованием сайтов, таких как regex101.com, где вы сможете поэкспериментировать в режиме онлайн.

  3. phpMyAdmin: Если у вас есть доступ к интерфейсу phpMyAdmin, и вы обладаете должными навыками, можно выполнить SQL-запросы, удаляющие ненужные теги из описаний. Например, используя функцию REPLACE:

    UPDATE wp_posts SET post_content = REPLACE(post_content, '<div class="summary entry-summary">', '');

    Этот запрос удалит конкретный <div> тег. Также не забывайте делать резервные копии таблиц перед выполнением таких операций, чтобы избежать потери данных.

  4. CLI-инструменты: Если вам удобно работать в командной строке, можно использовать WP-CLI – мощный инструмент для управления WordPress через командную строку. Он поддерживает выполнение пользовательских скриптов на основе PHP, которые можно настроить для выполнения очистки.

Предупреждение о безопасности

Обязательно убедитесь, что все изменения проверены на тестовом или клонированном сайте прежде чем применять их в продакшн-среде. Это позволяет минимизировать риски, связанные с ошибками в коде и предотвращает нарушение работоспособности сайта.

Завершаю: несмотря на то, что удаление HTML-тегов может выглядеть как простая задача, она требует аккуратного подхода для обеспечения сохранности данных и предотвращения потенциальных ошибок. Используйте перечисленные инструменты и методы в зависимости от ваших навыков и возможностей, и обеспечьте создание резервных копий данных во избежание их утери.

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

Капча загружается...