PHP DOMDocument AppendXML возвращает пустые (специальные символы)

У меня есть файл view.phtml, который загружается в DOMDocument с помощью AppendXML. Однако, когда этот view.phtml содержит текст, загруженный из БД, который содержит специальные символы, такие как '&', он дает сбой при вызове AppendXML:

DOMNode::appendChild(): Document Fragment is empty in ...

где фрагмент документа загружает HTML-код view.phtml:

    $newDocFrag = $doc->createDocumentFragment();
    $newDocFrag->appendXML($html);

но, по-видимому, возвращает пустой фрагмент.

Это похоже на тот случай, когда я загружаю из базы данных текст, содержащий символ «&». Однако, когда я помещаю его непосредственно в файл view.phtml, он работает правильно, без ошибок.

Кто-нибудь знает, почему это вызывает проблему и как ее решить?

Заранее спасибо!

& - это специальный символ в XML. Можете ли вы предоставить образец строки и какова цель? Я предполагаю, что вам следует использовать анализатор HTML ... или исправить ввод, чтобы он использовал сущности.
user3783243 02.11.2018 16:02

@ user3783243 А, я так и подозревал. Моя цель состоит в том, чтобы иметь внутри моей MVC-структуры макетформатор, который позволяет добавлять шаблоны к определенным элементам страницы, определяя их внутри файла layout.xml.

user2999349 03.11.2018 18:22
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
387
0

Другие вопросы по теме