1

私は 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個ほどあるので、これは少しイライラします!

アイデアはありますか?


更新
1 つのテンプレートを 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);};} 
4

1 に答える 1

0

CDATAマークアップからとhtmlentitiesの両方を削除し、実際のページを HTML4 から更新された有効な XHTML に変換することで、これを解決することができました。

背景色の埋め込まれた div を除いて、埋め込みスタイルシートを使用して、すべての書式設定を取得しました。

于 2011-01-27T15:22:55.390 に答える