PHPでdivの画像にスタイル属性を追加する

私は nieuwsbrief-tekst というdivの中にいくつかのイメージを含むニュースレターを持っています。私はそれらの画像を見つけて、それにインラインCSSコードを追加したい。私は preg_match でdivを見つけることができます。イメージタグ自体も見つかるかもしれませんが、イメージタグに style = ""

さらに1つの nieuwsbief-tekst divもあります。これらのdivは異なるコンテンツブロックなので、3つまたは4つあります。私は preg_replace を試しましたが、効果はありません。

任意のヒントや提案これを処理する方法は?

だから、htmlはこのようになり、私はdiv内の画像にスタイル属性を追加したいだけです。

HTMコード:

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

PHPコード:

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

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

    if(preg_match('/]+>/is', $match, $match_img)) {

        echo 'image found';

        $pattern = '/]+>/is';
        $replacement = '1
    
Lorem Ipsum ではなく、 Lorem Ipsum です:P
追加された 著者 user3139831,

1 答え

これはあなたが望むものを達成するはずです

$pattern = "/<div class=\"tmp\">(\\w+)?]+)>(\\w+)?<\/div>/is";
$replacement = "<div class=\"tmp\">\\1  \\3</div>";

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

Just change the tmp to fit your needs :)

0
追加された
ほぼ完璧です:)イメージとdivが同じ行にある場合には動作しますが、イメージが次の行で始まる場合は動作しません。私はいくつかの検索を行い、/ sはそれを処理する必要がありますが、そうではありませんか?ユーザーがコンテンツ内の画像をどこに追加するかを制御することはできないため、divと同じ行に画像が常に表示されるように強制することはできません
追加された 著者 tijmen,