这是一段代码
$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();.
Chr*_*ial 11
如果您知道该元素已经没有类集,您可以使用DOMElement::setAttribute(),例如:
$img->setAttribute('class','someClass');
Run Code Online (Sandbox Code Playgroud)
如果您不确定该元素是否已经有类集,那么您应首先执行getAttribute(),然后将您的类添加到类列表中.