|
|
|
| В файлах Commerce ML, поступающих на сайт из 1С, встречаются комбинации знаков, которые препятствуют правильному разбору файла обмена. Пока что обнаружены только в названии товара. Например:
<Товар>
<Ид>C4FE0F8A-8EDE-5523-DB7E-DE59A3686BFF</Ид>
<Артикул>918977248966969666</Артикул>
<Наименование>Ротор 207D <Опытный образец></Наименование>
<Описание></Описание>
<БазоваяЕдиница НаименованиеПолное=""></БазоваяЕдиница>
<Группы>
<Ид>7645A435-77DD-B2C6-421B-63A178DDB760</Ид>
</Группы>
</Товар>
<Товар>
<Ид>BB60823E-6368-F900-F793-23A3D02F493C</Ид>
<Артикул>280697345560078812</Артикул>
<Наименование>Class & Sprinter -> (see cat.)</Наименование>
<Описание></Описание>
<БазоваяЕдиница НаименованиеПолное=""></БазоваяЕдиница>
<Группы>
<Ид>7645A435-77DD-B2C6-421B-63A178DDB760</Ид>
</Группы>
</Товар>
|
Здесь между тезами <Наименование></Наименование> имеются комбинации, включающие в себя < и >, которые не могут быть обработаны SimpleXMLElement.
Хочется от них корректно избавиться.
Если имеет место полный тег, как в первом случае (<Опытный образец>), то заменить уголки на двойные кавычки.
А если только «<» или только «>», или образуется нетеговая комбинация (>Опытный образец<), то заменить их на пробел.
Как бы это осуществить? | |
|
|
|
|
|
|
|
для: Владимир55
(08.01.2013 в 14:26)
| | Предварительно обработать файл каким-нибудь собственным компонентом-санитайзером... Кстати, на маркет-плейсе ничего похожего нет? | |
|
|
|
|
|
|
|
для: cheops
(09.01.2013 в 21:27)
| | На маркет-плейсе не обнаружил.
Проблема снялась регулярным выражением, через preg_replace_callback.
А может быть, было бы правильнее использовать их HTML сущности? | |
|
|
|