Добавить атрибут стиля к изображениям в div с помощью PHP - PullRequest
1 голос
/ 25 ноября 2011

У меня есть новостная рассылка, которая содержит несколько изображений внутри div с именем nieuwsbrief-tekst.Я хочу найти эти изображения и добавить встроенный код CSS к нему.Я могу найти div с помощью preg_match, и я также могу найти сам тег изображения, но добавление style="" к тегу изображения пока не работает.

Существует также более одного nieuwsbief-tekst div, эти div - это разные блоки контента, поэтому их 3 или 4.Я попробовал preg_replace, но это не имеет никакого эффекта.

Любые советы или предложения, как с этим справиться?

Так что HTML будет выглядеть так, и я только хочу добавить атрибут стиляк изображениям внутри div.

Код HTM:

<div class="nieuwsbrief-tekst">lorum ipmsum</div>
<div class="nieuwsbrief-tekst"><img src="#"></div>
<div class="nieuwsbrief-tekst">lorum ipmsum</div>
<div class="nieuwsbrief-tekst"><img src="#"></div>

Код PHP:

<code>if(preg_match_all('/<div class="nieuwsbrief-tekst">(.*?)<\/div>/is', $var, $matches)) {

foreach($matches[0] as $match) {

    if(preg_match('/<img[^>]+>/is', $match, $match_img)) {

        echo 'image found';

        $pattern = '/<img[^>]+>/is';
        $replacement = '<img style="float:left; margin:0 10px 10px 0;';
        $test = preg_replace($pattern, $replacement, $match_img);

    }
}

echo '<pre>';
print($test);
echo '
';}

Спасибо:)

1 Ответ

0 голосов
/ 25 ноября 2011

это должно выполнить то, что вы хотите

$pattern = "/<div class=\"tmp\">(\\w+)?<img ([^>]+)>(\\w+)?<\/div>/is";
$replacement = "<div class=\"tmp\">\\1 <img style=\"float:left; margin:0 10px 10px 0; \\2 /> \\3</div>";

$str = preg_replace($pattern, $replacement, $str);
echo $str;

Просто измените tmp в соответствии с вашими потребностями:)

...