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>

canvgで位置決めできるように、svgファイルの幅と高さを抽出したいと思います。

私はそれが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 に答える