Я прошел через много подобных вопросов. Я не мог найти ответ на свою проблему.
у меня есть svg image
Я пытаюсь получить содержимое из него с помощью SimpleXMLElement
,
$svgimage = path to svg image;
$svgString=file_get_contents($svgimage) ;//returns image
$svg = new SimpleXMLElement( $svgString );//returns nothing
Я использовал 300dpi
Изображение в качестве фона изображения SVG. Теперь я изменил его на 600dpi
.После этого $svg
ничего не возвращает. Я понятия не имею, почему SimpleXMLElement не работает на 600 точек на дюйм.
Журнал ошибок
Предупреждение: SimpleXMLElement :: __ construct (): Сущность: строка 29: ошибка синтаксического анализатора: длина AttValue слишком великаПредупреждение: SimpleXMLElement :: __ construct ():
XLink: HREF ="данные: изображения / X-MS-BMP; base64, Qk1mDokAAAAAADYAAAAoAAAAZQgAAHEFAAABПредупреждение: SimpleXMLElement :: __ construct (): Объект: строка 29: анализатор
ошибка: ошибка построения атрибутовПредупреждение: SimpleXMLElement :: __ construct (): Объект: строка 29: анализатор
ошибка: не удалось найти конец строки изображения начального тега 20Предупреждение: SimpleXMLElement :: __ construct (): Объект: строка 709: анализатор
ошибка: внутренняя ошибка: огромный поиск вводаПредупреждение: SimpleXMLElement :: __ construct ():
имя ="номер заказа"
Size of SVG is 12MB
Любая помощь будет оценена.
Наконец-то я решил эту проблему.
simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_COMPACT | LIBXML_PARSEHUGE)
LIBXML_PARSEHUGE это было! Я не знаю как, но я пропустил это раньше.
Других решений пока нет …