Elimde onlarca html dosyası var.bu html dosyaları aşağıdaki satırlardan oluşuyor.

<div style="blabla" class="cls_002">1<\/div>
<div style="blablabb" class="cls_002">2<\/div>
<div style="blablacc" class="cls_002">3<\/div>
<div style="blabldda" class="cls_002">4<\/div>

İçlerinden benim oluşturacağım kuralla bazı satırlarda değişiklik yapacağım ancak style tag'i devamlı değiştiği için preg_replace'de zorlanıyorum.

$alla = preg_replace('/<div style=(*.?) class=\"cls_002\">' .$no_d. '<\/div>/si', 'Eklenecek metin <div style\=$1 class=\"cls_002\">' .$no_d. '<\/div>', $alla);

bu satırda $no_d değişkeni 4 olsa bile sadece 1 olarak görüyor. Var mıdır bunun bir yolu?

 

anlamadım ne yapmak istediğini ama
function generateNewContent($matches)
{
$content = '';
//bişeyler yap burda

return $content;
}

$pattern = "/<div style=\"(?P<style>.*)\" class=\"cls_002\">(?P<number>[0-9]*)<\\/div>/u";
$callback = 'generateNewContent';

preg_replace_callback($pattern, $callback, $text);

gibi bişey yapsan daha kolay ve anlaşılır olur sanırım.

ps: named subpattern kullanalım kullandıralım

lpgli tosbaga

lpgli tosbaga teşekkürler. Biraz acemilik olduğu için derdimi anlatamadım

Elimdeki html dosyada aşağıdaki gibi bir döngü var

<div style="blabla" class="cls_002">1<\/div>
<div style="blablaaa" class="cls_002">aaa<\/div>
<div style="blablabb" class="cls_002">bbb<\/div>
<div style="blablccc" class="cls_002">ccc<\/div>

<div style="blabla" class="cls_002">2<\/div>
<div style="blablabb" class="cls_002">ddd<\/div>
<div style="blablacc" class="cls_002">eee<\/div>
<div style="blabldda" class="cls_002">fff<\/div>

<div style="blabddd" class="cls_002">3<\/div>
<div style="blableee" class="cls_002">ggg<\/div>
<div style="blablfff" class="cls_002">hhh<\/div>
<div style="blablggg" class="cls_002">iii<\/div>

Ben her grubun sonuna bir metin eklemek istiyorum. Bunun içinde sanırım preg_replace_callback kullanacağım. Doğrudur değil mi?

doink

preg_replace adı üzerinde bulur ve değiştirir.

preg_replace_callback bulur ve bulduğunu bir fonksiyona gönderir o fonksiyon onu işler ve sonucunu bulduğu ile değiştirir.

lpgli tosbaga
1

mobil görünümden çık