Символы внутри xml элемента
Всех приветствую
Получаю следующую ошибку. Причина ошибки заключаются в следующем : В моей базе содержатся данные, которые я преобразовываю в xml файл. Внутри столбца description лежат записи формата text содержащие символы которые не закодировались. [?] и т.д.
$description = $dom->createElement("description",htmlentities($item[$i]->description));
Если я их не буду кодировать с помощью htmlentities, то у меня вылезает ошибка из за неверных символов.
Мой XML
<description>
sfdkjsfdnkjfdsnkjdfnksdjnfksjdfn
fsd»
• item1
• item2
• item3
• item4
</description>
Подскажите есть ли подобный метод htmlentities для xml записей. Есть идея вырезать из строки символы и при формировании обратно добавлять. Но это получается совсем кустарный метод.
Ответы (1 шт):
Эти сущности есть только в HTML, в XML их нет, поэтому либо надо их объявить, примерно так
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE myname [
<!ENTITY nbsp " ">
<!ENTITY copy "©">
<!ENTITY reg "®">
<!ENTITY trade "™">
<!ENTITY mdash "—">
<!ENTITY ldquo "“">
<!ENTITY rdquo "”">
<!ENTITY pound "£">
<!ENTITY yen "¥">
<!ENTITY euro "€">
]>
<data>
...
</data>
Либо заменить на сущности которые понимает XML https://www.freeformatter.com/html-entities.html
