![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| crang |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 3.6.2004 Где: Ukraine Репутация: нет Всего: нет |
Доброго времени суток!
Есть скрипт, который анализирут структуру XML и вставляет дополнительный узел:
результат выглядит так:
Вопрос - как нормально передавать из PHP спец символы? Или конкретно - как передать строку
|
||||||
|
|||||||
| skyboy |
|
||||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
дело в том, что у тебя уже строка. чтоб корректно запихнуть строку
в создаваемый элемент <mapico>, в строке переводятся в сущности все спецсимволы. и происходит это в потому htmlspecialchars_decode, отрабатывающий шагом ранее, никакого влияния не оказывает. Добавлено через 4 минуты и 8 секунд я думаю(предположение гипотетическое: с Dom из-под PHP не работал) должно сработать подобное:
|
||||
|
|||||
| crang |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 3.6.2004 Где: Ukraine Репутация: нет Всего: нет |
к сожалению ошибка:
Fatal error: Uncaught exception 'DOMException' with message 'Wrong Document Error' in /usr/home/crang/public_html/st/index.php:26 Stack trace: #0 /usr/home/crang/public_html/st/index.php(26): DOMNode->appendChild(Object(DOMElement)) #1 {main} thrown in /usr/home/crang/public_html/st/index.php on line 26 вот что я оставил:
экземпляр $dom создан ранее, поэтому твою строку 2 опустил.. и попутно 2 вопроса: 1. не затирает ли метод loadHTML уже созданную структуру $dom? 2. не совсем понятен смысл строки tmpMap = $dom->documentElement , т.е. как потом при вызове метода appendChild($tmpMap) ПХП поймет какое значение добавлять? |
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: нет Всего: 67 |
crang, используйте CDATA
-------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
кстати, да.
я пытался придумать, как верстку из строки вставить в структуру XML. Если же тебе надо просто для "транспорта" строку запихнуть в структуру, а потом оттуда изъять - используй CDATA. да, заменяет. созданной из отпарсенной строки, переданной аргументом. в $dom - переменная класса DOMDocument. Чтоб вставить через appendChild в другой элемент, надо иметь объект класса DOMNode. $dom->documentElement возвращает как раз первый элемент класса DOMNode(которая наследует класс DOMElement). Но это был чисто теоретический изыск. Скорее всего, опираясь только на документацию, я что-то не так понял и допустил ошибку. |
|||
|
||||
| crang |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 3.6.2004 Где: Ukraine Репутация: нет Всего: нет |
спасибо всем, решилось обходом использования тегов в пхп коде, добавил в XSL шаблон:
а в пхп скрипте передал атрибуты:
|
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: X технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |