如何在DOM,PHP中添加类到img对象?

时间:2011-08-14 11:49:06

标签: php dom

这是一段代码

$doc = new DOMDocument();
$doc->loadHTML($article_header);

$imgs = $doc->getElementsByTagName('img');
foreach ($imgs as $img) {

进入$imgs进入DOM img标记。现在我想通过添加一些类来改变原始的img标签。

如果$article_header是这样的话:

"some text"...<img src = 'http://some_source'>...some text...

现在我希望它成为这个:

"some text"...<img class = 'someclass' src = 'http://some_source'>...some text...

更新

我再说一遍。起始变量为$article_header。 因此,必须对其进行所有更改。

使用我的代码,我只需在$article_header中搜索img标签,找到它们将它们放入一些变量并更改它们就可以了,但是如何将所有更改都放回$article_header ???

2 个答案:

答案 0 :(得分:15)

在你的foreach循环中,拨打$img->setAttribute('class', 'someclass');。这应该可以解决问题。请点击http://docs.php.net/manual/en/domelement.setattribute.php

了解更多信息

然后,您需要使用$article_header = $doc->saveXml();保存修改后的文档。

答案 1 :(得分:10)

如果你知道该元素已经没有类集,你可以使用DOMElement::setAttribute(),例如:

$img->setAttribute('class','someClass');

如果您不确定该元素是否已经有类集,那么您应首先执行getAttribute(),然后将您的类添加到类列表中。