Я перехватываю ответ сервера, используя xml, xsl, и извлекаю необходимые фрагменты, чтобы извлечь фрагменты html из отклика сервера по требованию клиента. Например, предположим, что $ content имеет ответ сервера, прежде чем мы его обработаем.
$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 и т. Д., Появляется сообщение «Предупреждение: DOMDocument :: loadXML () [function.DOMDocument-loadXML]: объект« laquo »не определено в сущности "
Сначала я просто заменил все эти элементы (& nbsp и другие) их эквивалентами в юникоде (str_replace), но потом я понимаю, что не могу рассмотреть все эти варианты. Как я могу решить эту проблему?
Дайте мне знать, если вы не понимаете меня, я могу написать лучшее объяснение.
Спасибо, Ахмед.