Показать сообщение отдельно
  #1 (permalink)  
Старый 19.07.2019, 16:01
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Запрос MySQL с регуляркой
Здравствуйте! Прошу помощи написать запрос для MySQL с регулярным выражением.

Нужно в содержимом столбца найти атрибуты href="..." и проставить в них перед значениями слеш, при условии что значение не начинается с http или со слеша /

Опишу суть подробнее.
В БД у меня есть таблица articles. В этой таблице есть столбец content
В столбце content хранится html статей.

Проблема в том, что в статьях есть ссылки на внутренние страницы сайта. Прописаны они без домена и перед ними нет слеша. Пример таких ссылок:
<a href="forum">Форум JavaScript</a>
<a href="forum/misc>Общие вопросы</a>
<a href="forum/server>Серверные языки и технологии</a>


До сих пор отсутствие слеша мне не мешало и всё работало. Но теперь сайт переезжает и нужно в таких значениях проставить слеши, то есть чтобы стало так:
<a href="/forum">Форум JavaScript</a>
<a href="/forum/misc>Общие вопросы</a>
<a href="/forum/server>Серверные языки и технологии</a>


Для поиска есть такая статическая часть:
[ href="]
вначале есть пробел, а в конце - одна двойная кавычка.
После кавычки идут английские буквы.
Если в начале значения уже есть слеш / или значение начинается с http то такие ссылки пропускаем (не нужно ставить слеш).

Помогите пожалуйста написать такой запрос.
Ответить с цитированием