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 个要做!

请问有什么想法吗?


更新
我已将一个模板转换为 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 回答