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

Dav*_*vid 7 php dom

这是一段代码

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

$imgs = $doc->getElementsByTagName('img');
foreach ($imgs as $img) {
Run Code Online (Sandbox Code Playgroud)

进入$imgsDOM img标签.现在我想通过添加一些类来更改原始的img标记.

如果$article_header是这样的话:

"some text"...<img src = 'http://some_source'>...some text...
Run Code Online (Sandbox Code Playgroud)

现在我希望它成为这样:

"some text"...<img class = 'someclass' src = 'http://some_source'>...some text...
Run Code Online (Sandbox Code Playgroud)

UPDATE

我重复.启动变量是$article_header.所以必须对它进行所有更改.

使用我的代码,我只是搜索$article_headerimg标签,找到它们将它们放入一些变量并更改它们就可以了,但我怎样才能将所有更改都恢复到$article_header???

Sel*_*aek 17

在你的foreach循环中,调用$img->setAttribute('class', 'someclass');.这应该可以解决问题.有关详细信息,请访问http://docs.php.net/manual/en/domelement.setattribute.php

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

  • 请注意,这将替换任何现有的类,而不是添加到它们中。 (3认同)

Chr*_*ial 11

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

$img->setAttribute('class','someClass');
Run Code Online (Sandbox Code Playgroud)

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