Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Удалить ненужные ссылки в сообщениях

Вопросы без привязки к версии. Установлена авточистка (2 года).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Leo Angel
phpBB 2.0.3
Сообщения: 399
Стаж: 6 лет 2 месяца
Благодарил (а): 145 раз
Поблагодарили: 34 раза

Удалить ненужные ссылки в сообщениях

Сообщение Leo Angel »

Подскажите, плиз, какой запрос нужно сделать в БД, чтобы удалить ненужные ссылки в сообщениях?
На форуме есть много (возможно, несколько тысяч) сообщений с внешними ссылками.
Ссылки рабочие, но абсолютно не информационные, скорее рекламные. Хочу их всех сразу убрать, удалять вручную не вариант.
Каким запросом к БД это можно сделать? Чтобы быстро, просто и безболезненно.

Заранее спасибо!
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Удалить ненужные ссылки в сообщениях

Сообщение Татьяна5 »

Как предполагается отделять нужные ссылки от ненужных?
Аватара пользователя
Leo Angel
phpBB 2.0.3
Сообщения: 399
Стаж: 6 лет 2 месяца
Благодарил (а): 145 раз
Поблагодарили: 34 раза

Re: Удалить ненужные ссылки в сообщениях

Сообщение Leo Angel »

Татьяна5, я знаю какие нужные, какие НЕнужные.
Есть в общей сложности 3-4 вида ссылок, разбросанных по всему форуму, вот их и хочу убрать.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Удалить ненужные ссылки в сообщениях

Сообщение Татьяна5 »

Leo Angel писал(а): 09.09.2022 14:17я знаю
А программа не знает
Так как предполагается их отделять? Что это за ссылки и в каком виде они записаны в БД?

Отправлено спустя 2 минуты 12 секунд:
Если это конкретные, совпадающие до символа, ссылки, то через http://www.sql-tutorial.ru/ru/book_repl ... ction.html заменить, перед этим посмотрев что именно менять в БД
Аватара пользователя
Leo Angel
phpBB 2.0.3
Сообщения: 399
Стаж: 6 лет 2 месяца
Благодарил (а): 145 раз
Поблагодарили: 34 раза

Re: Удалить ненужные ссылки в сообщениях

Сообщение Leo Angel »

Татьяна5, это конкретные, совпадающие до символа, ссылки на определённые группы в соц.сетях.
И мне нужно не заменить, а удалить вообще.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Удалить ненужные ссылки в сообщениях

Сообщение Татьяна5 »

Удалить - это заменить на пустую строку
Аватара пользователя
Leo Angel
phpBB 2.0.3
Сообщения: 399
Стаж: 6 лет 2 месяца
Благодарил (а): 145 раз
Поблагодарили: 34 раза

Re: Удалить ненужные ссылки в сообщениях

Сообщение Leo Angel »

Вот есть примерно такое сообщение (взял из ДБ)

Код: Выделить всё

<r>Красивые аквариумы.<br/>
<URL url="https://xxx.com/xxxxxxxxx.xxxxxxxx">https://xxx.com/xxxxxxxxx.xxxxxxxx</URL><br/>
<IMAGE content="https://fotos.aquariymist.com/images/2022/03/08/8zezi.jpg"><s>[image]</s>
https://fotos.aquariymist.com/images/2022/03/08/8zezi.jpg<e>[/image]</e></IMAGE></r>
И ссылки https://xxx.com/xxxxxxxxx.xxxxxxxx нужно удалить, оставив всё остальное содержимое без изменений.

Иначе говоря, всё вот ЭТО
<URL url="https://xxx.com/xxxxxxxxx.xxxxxxxx">https://xxx.com/xxxxxxxxx.xxxxxxxx</URL><br/> нужно грохнуть в пару-тройке сотен сообщений.

Какой запрос к БД в данном случае нужно сделать?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Удалить ненужные ссылки в сообщениях

Сообщение Татьяна5 »

Код: Выделить всё

UPDATE phpbb_posts SET post_text = REPLACE(post_text, '<URL url="https://xxx.com/xxxxxxxxx.xxxxxxxx">https://xxx.com/xxxxxxxxx.xxxxxxxx</URL><br/>', '')
Бекап перед этим не помешает
Плюс потом ещё пройтись тем же самым запросом без <br/>
Аватара пользователя
Perfecthus
phpBB 2.0.11
Сообщения: 803
Стаж: 13 лет 5 месяцев
Откуда: Оттуда
Благодарил (а): 51 раз
Поблагодарили: 86 раз

Re: Удалить ненужные ссылки в сообщениях

Сообщение Perfecthus »

Тут наверно лучше скрипт на php написать, чтобы вывел все ссылки, а удалять просто запросом не вариант...
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Удалить ненужные ссылки в сообщениях

Сообщение Татьяна5 »

При известном до символа тексте - очень даже вариант
Аватара пользователя
Perfecthus
phpBB 2.0.11
Сообщения: 803
Стаж: 13 лет 5 месяцев
Откуда: Оттуда
Благодарил (а): 51 раз
Поблагодарили: 86 раз

Re: Удалить ненужные ссылки в сообщениях

Сообщение Perfecthus »

Татьяна5, Тань, ну ведь поняла, о чем я написал! Тем паче, ему не все ссылки нужно удалять.
Нужен скрипт, который выведет все ссылки, на не нужных расставить галки и удалить... Понятно, что там тоже запросы к БД, выбор ссылок из текста через regxp, вывод этих ссылок, ну и чекбоксы для удаления.
sp40
phpBB 1.0.0
Сообщения: 8
Стаж: 5 лет

Re: Удалить ненужные ссылки в сообщениях

Сообщение sp40 »

Есть один нюанс
как выглядят ссылки в базе, нужно посмотреть поиском через phpmyadmin

обычно да, так<URL url="https://xxx.com/xxxxxxxxx.xxxxxxxx">htt ... xxxxx</URL>
но у меня встречались варианты с заменой символов на html код (возможно это пережиток старых версий phpBB)
например УРЛ был:
xxx&#46;com

Можно пройтись по стандартному варианту, затем поиском поискать остатки и заменить по той же схема.

Для более сложного случая, когда нужно было перед удалением проверять, отдает ли старая ссылка 404, писал код, правда с моим уровнем php получилась такая каша... но работало.
Аватара пользователя
Perfecthus
phpBB 2.0.11
Сообщения: 803
Стаж: 13 лет 5 месяцев
Откуда: Оттуда
Благодарил (а): 51 раз
Поблагодарили: 86 раз

Re: Удалить ненужные ссылки в сообщениях

Сообщение Perfecthus »

sp40, Скорей всего в БД хранится с html сущностями. Надо посмотреть, потом писать регулярку для выбора.
Аватара пользователя
Leo Angel
phpBB 2.0.3
Сообщения: 399
Стаж: 6 лет 2 месяца
Благодарил (а): 145 раз
Поблагодарили: 34 раза

Re: Удалить ненужные ссылки в сообщениях

Сообщение Leo Angel »

Всем спасибо. Ссылки известны до знака. Наверное, нет особого смысла в скрипте, и можно удалять просто запросом.
Хотя...
Было бы интересно, если бы было расширение для админов, позволяющее удалять ненужные части сообщений именно через скрипт с различными функциями-наворотами по выбору чего и как и где удалять.
Аватара пользователя
Kuskow
phpBB 1.4.4
Сообщения: 160
Стаж: 7 лет 10 месяцев
Откуда: Караганда
Благодарил (а): 25 раз
Поблагодарили: 15 раз

Re: Удалить ненужные ссылки в сообщениях

Сообщение Kuskow »

Вот и я давно думаю, что мне такое нужно. Но мне бы удалить ссылки не на конкретные сайты, а вообще все теги URL, которые обрамляют изображения IMG. То есть, удалить все ссылки, в которых текстом ссылки является изображение. При этом сами изображения оставить.
Чего бы такого придумать? Версия 3.1

Вернуться в «phpBB-пространство»