Иногда в Битриксе надо перенести, например, картинки из контента в свойство дополнительные фотографии. В ручную это делать конечно же не хочется, особенно если очень много товаров, по этому напишем скрипт для этого.
Сначала вытащим все картинки из контента:
$img = array(); preg_match_all('/]*?)?\\bsrc\\s*=\\s*(?|"([^"]*)"|\'([^\']*)\'|([^<>\'"\\s]*))[^<>]*>/i', $item['DETAIL_TEXT'], $img); //Собираем все картинки
Обновляем нашу запись и добавляем картинки
foreach ($imgs[1] as $img) { $file = CFile::MakeFileArray($img); $el = new CIBlockElement; $arLoadProductArray = Array("PROPERTY_VALUES" => array("MORE_PHOTO" => $file)); $res = $el->Update($item['ID'], $arLoadProductArray); }
Теперь осталось вырезать картинки из текста и всё!
$new_detail_text = preg_replace('~(]*>)?]*>()?~i', '', $item['DETAIL_TEXT']);//Вырезаем картинки из описания $el = new CIBlockElement; $arLoadProductArray = Array("DETAIL_TEXT" => $new_detail_text); //Заменяем текст на новый $res = $el->Update($item['ID'], $arLoadProductArray); //Обновляем запись