|
|
|
xml xsl и эскейп последовательности
|
|||
|---|---|---|---|
|
#18+
Всем привет. Для извлечение html фрагментов из ответа сервера на запрос клиента я перехватываю ответ сервера и посредством xml, xsl извлекаю необходимые фрагменты. Для примера предположим что $content содержит ответ сервера до обработки: Код (php): скопировать код в буфер обмена $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); $select - xPath выражение. В принципе все нормально работает, вот только при обнаружении эскейп последовательностей ( , «, » и т.п.) естественно всплывает сообщение "Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: Entity 'laquo' not defined in Entity". По началу я просто заменял все эскейп последовательности их юникод эквмвалентами (str_replace), но со временем понял что все варианты таким способом не предусмотришь. Как можно решить эту проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2011, 13:20 |
|
||
|
xml xsl и эскейп последовательности
|
|||
|---|---|---|---|
|
#18+
rustam_frmно со временем понял что все варианты таким способом не предусмотришь. Как можно решить эту проблему?Можно и все варианты - Character entity references in HTML 4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2011, 14:08 |
|
||
|
xml xsl и эскейп последовательности
|
|||
|---|---|---|---|
|
#18+
refregrustam_frmно со временем понял что все варианты таким способом не предусмотришь. Как можно решить эту проблему?Можно и все варианты - Character entity references in HTML 4 Конечно можно и все, вот только вес страницы станет не прилично большим. Неужели нет способа решить проблему по другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2011, 14:25 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=37173471&tid=1332993]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
160ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 275ms |
| total: | 521ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...