如何使用DOM / SimpleXML将属性添加到HTML字符串

时间:2010-09-22 16:31:21

标签: php simplexml

我想在PHP中更改图像标记的class属性。我可以使用正则表达式但是想使用DOM / SimpleXML。 simplexml元素如下所示:

$obj = simplexml_load_string($unprocessedfield);
var_dump($obj->img);

object(SimpleXMLElement)#108 (1) { 
    ["@attributes"]=>  array(6) { 
        ["class"]=>  string(33) "alignnone size-full wp-image-5499" 
        ["title"]=>  string(22) "Image: credit" 
        ["src"]=>  string(28) "/files/2010/09/laser-338.jpg" 
        ["alt"]=>  string(0) "" 
        ["width"]=>  string(3) "338" 
        ["height"]=>  string(3) "338" 
    } 
} 

我想添加到class属性但似乎无法访问该数组的各个元素,例如var_dump($obj->img->attributes['class'])给了我NULL

感谢任何指示。

1 个答案:

答案 0 :(得分:0)

我不确定这是否可行,但您可以尝试使用SimleXML->addAtribute()方法并添加一个具有相同名称的属性。理论上,它应该覆盖当前属性。但除此之外,我没有看到通过手册修改属性的方法。

如果simpleXML没有,PHP DOM's DOMElement::setAttribute()可能有效。