- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем здрасте. Помогите с регуляркой.
Задание:
Нужно в Wordpress выбрать все посты где есть ссылки в которых нет определенных слов.
Например
Есть такой пост
Post 1
<a href="http://mail.ru">mail</a><a href="http://google.com">google</a><a href="http://yandex.com">yandex</a>
Нам нужно получить его , учитывя что слово google и yandex в черном списке
Тоесть нужен запрос с логикой - выбрать посты где есть ссылки не содержащие google и yandex.
Пытаюсь сделать как то так
SELECT *
FROM wp_posts
WHERE post_content
REGEXP 'href="[^"]*^google|^yandex[^"]*"'
но как результат - я тут :)
Помогите, люди добрые
А много записей?
Если не получается так, почему через пых не обработать (при условии, что записей не много).
Много. Поэтому надо перегрузить на мускул немного.
Много
Тогда что тебе даст выборка с МуСкуле? Вручную будешь править? Менять-то по регуляркам МуСуль не умеет.
почему через пых не обработать (при условии, что записей не много).
+1
А если и много - ну и что? Поставил маинтансе на 10 мин и запускай.Ну или на крон в 2 часа ночи. А ещё лучше (ИМХО) - править дамп.
Ида. Плагинов же ж для поиска-замены - как грязи.
В стандартном REGEXP нет поддержки утверждений.
Можно что-то типа WHERE post_content LIKE '%href="%' AND post_content NOT REGEXP 'href="https?://(www\.)?(google\.ru|yandex\.ru)'
либо установить udf расширение preg https://github.com/mysqludf/lib_mysqludf_preg#readme
---------- Добавлено 13.07.2013 в 11:57 ----------
Много. Поэтому надо перегрузить на мускул немного.
На сколько много, тысячу, десять тысяч?...
Тогда что тебе даст выборка с МуСкуле? Вручную будешь править? Менять-то по регуляркам МуСуль не умеет.
+1
А если и много - ну и что? Поставил маинтансе на 10 мин и запускай.Ну или на крон в 2 часа ночи. А ещё лучше (ИМХО) - править дамп.
Ида. Плагинов же ж для поиска-замены - как грязи.
Не нужно офтопить, сли нечего сказать по теме
---------- Добавлено 13.07.2013 в 12:01 ----------
Записей тысяч 5 помоему. Но у клиента говеный хостинг и все летит при простом переборе.
WHERE post_content LIKE '%href="%' AND post_content NOT REGEXP 'href="https?://(www\.)?(google\.ru|yandex\.ru)'
такая была идея, но по идее оно выберет все где есть ссылки но не те где есть ссылки на google и yandex. Но если в посте есть еще ссылки ? То они проигноряться ибо регексп найдет заперщенную ссылку
Слили бекап себе, обработали, залили обратно.
такая была идея, но по идее оно выберет все где есть ссылки но не те где есть ссылки на google и yandex. Но если в посте есть еще ссылки ? То они проигноряться ибо регексп найдет заперщенную ссылку
Тогда нет смысла мучать mysql когда в посте могут быть и другие ссылки. Дергать все и обработать на php.
Ну или установить PCRE функции
Ну если бы мы изначатьно отфильтровали на уровне mysql часть постов, то пхп было бы меньше работы. Нет ?
За то она явно прибавится на mysql, и неизвестно что хуже. Тем более что на mysql не хватает инструментов для такого поиска.
ясно. ну и на том спасибо