我正在使用一段看起来像这样的代码(从fpdf创建以html标签属性为键,然后为值的数组)
//Extract attributes
$a2=explode(' ',$e);
$tag=strtoupper(array_shift($a2));
$attr=array();
$attrStyle=array();
foreach($a2 as $v)
if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3))
$attr[strtoupper($a3[1])]=$a3[2];
$this->OpenTag($tag,$attr);
当$ v这样的东西时,它工作得很好。
src="images/intro_doc_AA.png"
alt="intro"
width="388"
height="408"
但是使用HTML5样式格式(无法更改),有时我需要为$ v提供类似的东西:
style="width:
300;
height:
485;"
我正在尝试获得类似的东西,所以我可以使用它:
$attrStyle=Array(width->300, height->485)
感谢您的宝贵时间,NG。
答案 0 :(得分:0)
if (preg_match('/([^=]*)=(["\']?)(.*?)\2/s', $v, $a3)) {
$attr[strtoupper($a3[1])]=$a3[3];
}
但这很明显:不要通过RegExp解析HTML。