1

例子:

<svg width="23" height="22" xmlns="http://www.w3.org/2000/svg">
<!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->
<g>
<title>Layer 1</title>
<path fill-opacity="0" id="svg_1" d="m23,2-20,9.5l22,9" stroke-width="4" stroke="#000000" fill="#ffffff" />
</g>
</svg>

我想提取svg文件的宽度和高度,这样我就可以用canvg做一些定位。

我知道它是xml,但我无法弄清楚。这可能是一件非常容易的事情,但这是一年中的最后一天,我无法弄清楚。

一直在尝试:

PHP SimpleXML

$xml = simplexml_load_file($imageright) or die("Error: Cannot create object");
print_r($xml->getDocNamespaces());echo '</br>';

给我数组([] => http://www.w3.org/2000/svg

这也不起作用:

foreach($xml->svg[0]->attributes() as $a => $b)
  {
  echo $a,'="',$b,"\"</br>";
  }

有任何想法吗?

4

1 回答 1

6

所有你需要的是

$xml = simplexml_load_file($imageright);
$attr = $xml->attributes();
printf("%s x %s", $attr->width, $attr->height);

输出

23 x 22

简单的在线演示

于 2012-12-31T20:17:11.860 回答