我使用xml,xsl提取了所需片段的intrecept服務器響應,從客戶端請求中的服務器響應中提取html片段。例如,假設在處理它之前,$ content有服務器響應。Warning:DOMDocument :: loadXML()[function.DOMDocument-loadXML]:實體'laquo'實體中未定義
$dom = new domDocument();
$dom->loadXML($content);
$xslProgram = <<<xslProgram
<xsl:stylesheet version='1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output method="html" encoding='UTF-8' indent="yes" />
<xsl:template match="/">
<xsl:copy-of select="$select" />
</xsl:template>
</xsl:stylesheet>
xslProgram;
$domXsl = new domDocument();
$domXsl->loadXML($xslProgram);
$xsl = new XSLTProcessor();
$xsl->importStylesheet($domXsl);
$content = $xsl->transformToXml($dom);
看起來一切工作正確的,但是當它檢測到& NBSP,& LAQUO,& RAQUO等,有消息顯示:「警告:DOM文檔:: loadXML的()[function.DOMDocument-的loadXML ]:實體'laquo'未在實體中定義「
起初我只是用它們的unicode等價體(str_replace)替換了所有這些元素(& nbsp和其他),但是我明白我不能考慮所有這些變體。我怎麼解決這個問題?
讓我知道如果你不打擾我,我可以寫更好的解釋。
謝謝艾哈邁德。
太棒了!非常感謝你! – Ahmed 2011-03-19 11:51:06
+1正確答案。 – 2011-03-19 15:16:49