Ebay API - Как импортировать HTML в поле описания? - PullRequest
1 голос
/ 27 января 2011

Я создаю приложение, которое перечисляет элементы на Ebay, и мне дали страницу HTML для каждого и сказали, чтобы описание соответствовало этому HTML. HTML-страница очень проста, и в HTML4 (много <font> и <p align='left'> и т. Д.)

Когда я file_get_contents() HTML, я обертываю его в CDATA, чтобы избежать HTML-сущностей и тому подобного. Хотя, когда я отправляю сообщение, мне выкидывают ошибку об кодировке строки.

Вот мой код,

if(ini_get(allow_url_fopen) == 1){
    $page_layout .= "<![CDATA[";
    $page_layout .= file_get_contents("http://www.example.com/".$template->directory."/template/index.htm");
    $page_layout .= "]]>";

    $page_layout = htmlentities($page_layout);
}else{
    // fopen()
}

Это ошибка, которую мой SOAPClient дает мне,

Fatal error: SOAP-ERROR: Encoding: string '&lt;![CDATA[&lt;html&gt; &lt;head&gt; &lt;meta http-equiv=&quot; //etc

Я читал эти страницы,

Ничто из этого не дает мне никаких реальных идей. Единственное, о чем я могу думать, это перестроить HTML-страницы в XHTML 1.0 Strict. Что немного расстраивает, так как у меня их около 10!

Есть идеи, пожалуйста?


Обновление
Я преобразовал один шаблон в XHTML и смог опубликовать элемент, хотя здесь приведено описание, отображаемое в песочнице Ebay.

= 523) {w = document.body.scrollWidth;} else {w = document.body.offsetWidth;if (window.scrollMaxX !== 0) {w += window.scrollMaxX;}}}if (isNaN(w)) {w = 0;}if ((oCl.bFirefox && oCl.bWin) && (h > 32000)) {h = 32000;}rv[0] += h;rv[1] += w;return rv;};ifr.resizeIt = function(callerId) {var oCl = ifr.browserDetect();var size = ifr.getSize();if (size) {if (!oCl.bSafari) {parent.resizeFrame(size);}ifr.setData(size, callerId);};} 

1 Ответ

0 голосов
/ 27 января 2011

Мне удалось решить эту проблему, удалив как CDATA, так и htmlentities из разметки, а также преобразовать фактическую страницу из HTML4 в обновленный и действительный XHTML.

Это потянуло все мое форматирование, используя встроенную таблицу стилей, за исключением div с цветным фоном.

...