- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Помогите, кто в теме: надо через phpmyadmin в базе MySQL удалить все строки, заключенные между <h2>....</h2>
Сам заголовок и теги.
Чтобы вырезать или заменить конкретный текст нашел конструкцию:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'Текст который нужно заменить', 'новый текст');
но ей можно вырезать только сам тег, а как вырезать еще и текст между тегами если он везде естественно разный? Это реально?
А много таких строк, если ручками удалить всё?
iSmel, есть регекспы, но парсить HTML регекспами не совсем умная затея. Какая версия MySQL?
Помогите, кто в теме: надо через phpmyadmin в базе MySQL удалить все строки, заключенные между <h2>....</h2>
Сам заголовок и теги.
Чтобы вырезать или заменить конкретный текст нашел конструкцию:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'Текст который нужно заменить', 'новый текст');
но ей можно вырезать только сам тег, а как вырезать еще и текст между тегами если он везде естественно разный? Это реально?
Можно текст заменить, к примеру словом "удалить", а потом убрав теги, массово, по базе удалить это слово.
Я вам рекомендую, выгрузить таблицу в файлик
Через notepad++ сделать замену через регулярку
И заново залить
Дело 5 минут.
Через notepad++ сделать замену через регулярку
Пожалуй, самый оптимальный и универсальный вариант..
Начиная с MySQL версии 8.0 можно использовать REGEXP_REPLACE https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace
Для более ранних версий есть библиотека для MySQL, реализующая PREG https://github.com/mysqludf/lib_mysqludf_preg#readme
но вряд ли имеет смысл её устанавливать для разовой замены, а наличие её на шаредах совсем маловероятно..
А много таких строк, если ручками удалить всё?
Около 3 тыс, руками не хотелось бы )
---------- Добавлено 03.04.2020 в 14:08 ----------
iSmel, есть регекспы, но парсить HTML регекспами не совсем умная затея. Какая версия MySQL?
nginx/1.16.1
Версия клиента базы данных: libmysql - 10.1.38-MariaDB
PHP расширение: mysqli
Версия PHP: 5.4.16
---------- Добавлено 03.04.2020 в 14:09 ----------
Я вам рекомендую, выгрузить таблицу в файлик
Через notepad++ сделать замену через регулярку
И заново залить
Дело 5 минут.
Похоже придется так... спасибо
Это не сложно, недавно делал такое.
Если есть возможность сделать копию базы и выдать на нее доступ, я бы мог показать.
Описывать здесь всю процедуру не вижу смысла, это как в той истории, когда знаешь точку, по которой надо ударить кувалдой.
Пройтись по таблице скриптом SELECT/UPDATE – "два пальца об асфальт".
Sitealert, у каждого свой уровень "двупальцевости"..
Для кого-то "пройтись по таблице" да ещё и "скриптом" с какими-то "SELECT/UPDATE" - это абракадабра полная.. )
Я думаю можно такое сделать с помощью UPDATE и строковых функций: SUBSTRING(str,pos,len), LOCATE(substr,str) без всяких регексов одним запросом.