Ventrilo
(Jason)
1
Привет,
во многих из моих импортированных материалов в темах есть ссылка на старый домен, вот такая:
https://domain.com/threads/xxxx
где xxxx — это номер темы из четырёх цифр.
Я хочу полностью удалить эту строку из всех тем. Какой будет лучший способ сделать это массово для более чем 3000 тем?
Ventrilo
(Jason)
3
Спасибо!
rake posts:delete_word['^http:\/\/domain.com\/threads\/.*.\/$','regex']
Выводит 0 результатов. Подскажите, где я ошибаюсь?
Попробуйте:
rake posts:delete_word['https?://domain\.com/threads/\\d{4}','regex']
Ventrilo
(Jason)
5
Потрясающе! Сработало идеально. Я читаю пост, на который вы дали ссылку, и пытаюсь составить регулярное выражение для удаления BB-кода RGB.
Конструктор регулярных выражений утверждает, что моё выражение корректно:
Однако при запуске оно либо не обновляет ни одного поста, либо выдаёт ошибку о том, что выражение не является корректным регулярным выражением.
Вот как выглядит BB-код в темах:
[COLOR=rgb(95, 66, 222)]
Также пробовал это:
rake posts:delete_word[‘[\WCOLOR=rgb(\d{1,3}), (\d{1,3}), (\d{1,3})(, ){0,1}(0(\.\d+)?|1(\.0+)?)]’,‘regex’]
pfaffman
(Jay Pfaffman)
6
Разве вы не предпочли бы, чтобы эти ссылки работали? И, возможно, просто изменить имя хоста?
pfaffman
(Jay Pfaffman)
7
Вы можете использовать мой пример в другой теме, где это обсуждалось, чтобы узнать, как это сделать в Rails, и воспользоваться сайтом http://rubular.com/, чтобы настроить ваше регулярное выражение.