Хорошо, возможно, я упускаю что-то простое. Я долго искал и не повезло. Мне нужно вставить сущность в атрибут XML. Для этого мне нужно иметь возможность использовать амперсанд (&) в сочетании с методом setAttribute
для класса DOM (или addAttribute
для класса simpleXML
). Когда я пытаюсь его использовать, он выходит за пределы амперсанда, поэтому &entity;
становится &entity;
. Попытка вручную убрать амперсанд \&entity;
просто приводит к \&entity;
. Выводим амперсандную сущность &entity;
просто удваиваем ее &entity;
. Я понимаю, почему это происходит, амперсанды нарушают XML, если не связаны с действительным объектом. Проблема в том, что он связан с сущностью, и я не могу понять, как его использовать.
Я нашел методы createEntityReference и DOMEntityReference , но документация для этих методов плохая, и я не уверен, что это то, что мне нужно. Похоже, что поиск этих терминов приводит к появлению одной и той же документации PHP, но с разных сайтов. Я пытался искать эту проблему отдельно, но я просто получаю результаты, объясняющие то, что я уже знаю и указал выше. Я пробовал и DOM и SimpleXML, но оба дают одинаковые результаты. Я просто слишком усложняю или это действительно не поддерживается?