开发者

How to add class to an img object in DOM,PHP?

开发者 https://www.devze.com 2023-03-28 04:40 出处:网络
Here is piece of code $doc = new DOMDocument(); $doc->loadHTML($article_header); $imgs = $doc->getElementsByTagName(\'img\');

Here is piece of code

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

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

Into $imgs goes DOM img tag. Now I want to change the original img tag by adding some class to it.

SO if the $article_header was this:

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

Now I want it to become this:

"some text"...<img class = 'someclass' src = 'h开发者_运维知识库ttp://some_source'>...some text...

UPDATE

I repeat. Start variable is $article_header. So all changes must be done to it.

With my code I just search through $article_header for img tags , finding them putting them into some variables and change them there is ok, but how can I put all changes back to $article_header ???


In your foreach loop, call $img->setAttribute('class', 'someclass');. This should do the trick. See more at http://docs.php.net/manual/en/domelement.setattribute.php

Then you need to save the modified document back using $article_header = $doc->saveXml();.


If you know that the element will not have a class set already you can just use DOMElement::setAttribute(), like:

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

If you are not sure if the element might already have a class set, then you should do a getAttribute() first and then add your class to the list of classes.

0

精彩评论

暂无评论...
验证码 换一张
取 消