Как избавиться от "'", шестнадцатеричное значение 0x11, является недопустимым символом. Строка 1 "в ошибке XML, когда двоичные символы помещаются в XML? - PullRequest
2 голосов
/ 28 ноября 2011

Я получаю ошибки синтаксического анализа XML, когда кто-то помещает двоичный символ '' в текстовое поле.Есть ли способ просто кодировать эти данные в XML и декодировать их обратно, когда они используются кем-то.

Сервис My Webs написан с использованием PHP

Должен ли я использовать методы utf8_encode / decode в PHP?

Я попытался bin2hex (для кодирования), а затем hexdec (для декодирования), но он не работает для всех символов, например, набор символов из других языков.

1 Ответ

0 голосов
/ 28 ноября 2011

Если исходный код XML искажен, и в вашем PHP установлен модуль tidy (--with-tidy),
попробуйте это: -

    /* src xml could be malform */
    $ops = array();
    $ops['input-xml']  =
    $ops['output-xml'] = TRUE;

    $tidy = new Tidy($source_file, $ops);
    $tidy->isXML();
    $tidy->cleanRepair();

Это, конечно, попытается очистить и восстановить любойНеправильная форма в XML,
, что означает, что после cleanRepair оба XML больше не идентичны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...