Возникла следующая ситуация:
В шаблоне обработки видео (то которое в тэгах video> там где ссылки с ютуба во фрейм засовываются), был изменен код, и измененный код содержал ошибку (незакрытый тэг).
В результате форматирование сайта сломалось (что очевидно).
А вот что было полной неожиданностью — это то, что вот этот код попал
1) в табличку контента
2) код попал в табличку с коментами
В результате по ссылке «Новые» — отображение сайта сломалось, даже после восстановления исходного шаблона обработки тэга video> , и удаления топика содержащего невалидный код.
Тут дело не в том что где-то был изменен шаблон обработки контента, а в том что если в этих шаблонах будут допущены ошибки со стилями или тэгами — то вычищать из базы и восстанавливать нормальный вид сайта придется руками, причем поиск в табличках невалидного контента может быть нетривиальным (я знал по какому ключевому слову искать, но это не всегда может быть очевидно).
Второй ужасающий момент- в том что кусок кода попал в коменты самостоятельно. Кто-то в момент обновления файла писал комментарии, и туда, в комментарии к совершенно другому блогу и топику- вместо коментариев записался этот вот код.
октября
22
2015
0
demo.altocms.com/new/39.html
Не получилось. Т.е. сам текст топика, конечно, сломался, но верстка страницы в целом не пострадала. Испробованные варианты:
Возможно, там не просто тег был не закрыт, а какая-то особая комбинация, которая все сломала
Ниже кода
$sText = preg_replace(
'/<видео>http(?:s|):\/\/(?:www\.|)rutube\.ru\/video\/(\w+)\/?<\/видео>/Ui',
'<ифрэйм src="//rutube.ru/play/embed/$1" width="'. $iWidth. '" height="'. $iHeight. '" '. $sIframeAttr. '></ифрэйм>',
$sText
);
Был добавлен собственный код, аналогично обрабатывающий ссылку с другого медиаресурса.
В коде который был в ифрэйме- была ошибка (тэг ифрейма не закрыт).
Поэтому форматировнаие сломалось напрочь.
А вот почему в момент вставки поста, в котором был тэг который обработался через этот этого preg_replace, текст заменился и в других коментариях к совершенно другим постам которые в этот момент набирали люди на сайте — я не совсем понимаю.