Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как исправить дефекты 1С?
 
 автор: Владимир55   (08.01.2013 в 14:26)   письмо автору
 
 

В файлах 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.

Хочется от них корректно избавиться.

Если имеет место полный тег, как в первом случае (<Опытный образец>), то заменить уголки на двойные кавычки.

А если только «<» или только «>», или образуется нетеговая комбинация (>Опытный образец<), то заменить их на пробел.

Как бы это осуществить?

  Ответить  
 
 автор: cheops   (09.01.2013 в 21:27)   письмо автору
 
   для: Владимир55   (08.01.2013 в 14:26)
 

Предварительно обработать файл каким-нибудь собственным компонентом-санитайзером... Кстати, на маркет-плейсе ничего похожего нет?

  Ответить  
 
 автор: Владимир55   (09.01.2013 в 22:02)   письмо автору
 
   для: cheops   (09.01.2013 в 21:27)
 

На маркет-плейсе не обнаружил.

Проблема снялась регулярным выражением, через preg_replace_callback.

А может быть, было бы правильнее использовать их HTML сущности?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования