Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

Удалить все div из детального описания элемента каталога (новости И так далее)

Внимание! Все сообщения на форуме проходят модерацию. Ваше сообщение появится после проверки.
Проблема: товары на сайт выгружаются из 1С: Предприятие.

В описаниях товара часто встречается попытка верстки элементов с помощью тега <div>.
И это не великая проблема, но очень часто встречаются товары в которых не хватает либо закрывающих тегов:</div>
Либо лишние окрывающие теги: <div>.

После вывода описания, в детальной карточке товара, ломается вся верстка сайта - из за этой "ошибочной верстки".

Задача: вырезать все теги <div> </div> из описания, при этом функция strip_tags() не подходит,
остальные теги нужно оставить (абзацы, заголовки итд)

Вот решение:

Код
// TODO временно, пока не поправят в 1С
$string = $arResult['~DETAIL_TEXT'];
$pattern = '/<div\b[^>]*>(.*?)<\/div>/i';
$replacement = '';

$processedString = preg_replace($pattern, $replacement, $string);
echo $processedString;
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
 

Блог-note Заметки по 1С-Битрикс