Ошибка синтаксического анализа PHP и XML API eBay В Заголовке с Амперсандом


Я тестировал свое PHP-приложение для перечисления товаров на eBay с использованием их торгового API. У меня был успех в тестировании, но я только что наткнулся на некоторые пункты с амперсандом в названии.

Эта ошибка продолжает возвращаться.

XML Error Text: "; nested exception is: 
    org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference

Это говорит мне о том, что я не могу просто передать символ амперсанда.

Чтобы устранить проблему, я попробовал несколько вещей:

$string = 'LEUPOLD 66325 4.5-14x50 VX-3 RIFLE SCOPE - SILVER, B&C BOONE & CROCKETT RETICLE';
echo str_replace("&","&",$string);
echo str_replace("&","&",$string);
echo htmlspecialchars($string,ENT_NOQUOTES);
echo htmlspecialchars($string);
echo htmlspecialchars_decode($string);

Также пробовал это так

<![CDATA['.$string.']]>

Что бы я ни делал, это не увенчается успехом, когда Я пропускаю его через себя.

Спасибо всем за вашу помощь.

Author: Shawn Abramson, 2013-11-13

1 answers

Данные, которые вы отправляете в UTF8? Это может быть вашей проблемой, если это не так.

Http://developer.ebay.com/Devzone/return-management/Concepts/MakingACall.html#utf8encoding

Все значения параметров должны быть закодированы в формате UTF-8. UTF-8 - это кодировка по умолчанию для запросов API.

 3
Author: Machavity, 2017-02-15 15:04:33