我经历了很多类似的问题。我找不到问题的答案。
我有svg image
。我尝试使用SimpleXMLElement
从中获取内容。
$svgimage = path to svg image;
$svgString=file_get_contents($svgimage) ;//returns image
$svg = new SimpleXMLElement( $svgString );//returns nothing
我一直使用300dpi
图像作为svg image的背景。现在我将其更改为600dpi
。之后$svg
没有返回任何内容。我不知道为什么SimpleXMLElement不会&#39 ; t工作在600dpi。
错误记录
警告: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():
命名="订单ID"
Size of SVG is 12MB
任何形式的帮助将不胜感激。
答案 0 :(得分:2)
最后我已经解决了这个问题。
simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_COMPACT | LIBXML_PARSEHUGE)
LIBXML_PARSEHUGE是它!我不知道怎么做,但我早些时候错过了。