$test = "<div><b><i>#uniquetag#</b></i></div> <div>Keep this</div>";
$test = preg_replace("/<div(.*)#uniquetag#(.*)<\/div>/i", "#uniquetag#", $test);
Ben sonuç olmak istiyorum
$test = "#uniquetag# <div>Keep this</div>";
Ama döner
$test = "#uniquetag#";
Ben nedenini biliyorum. (. *) Açgözlü olduğunu ve sonuna kadar arama genişletmek. Ama bunu yapmak için doğru yolu ne olduğunu anlamaya olamaz.
Güncelleme:
Ghostdog74 Özel teşekkürler. Eski sorun çözüldü. Yeni bir sorun yaşanıyor ....
$test = "<div></div> <div><b><i>#uniquetag#</b></i></div> <div>Keep this</div>";
$test = preg_replace("/<div(.*)#uniquetag#(.*?)<\/div>/i", "#uniquetag#", $test);
Beklenen sonuç
$test = "<div></div> #uniquetag# <div>Keep this</div>";
Ama çıkıyor
$test = "#uniquetag# <div>Keep this</div>";
Yine, ben çünkü ilk olduğuna inanıyorum (. ). Changing it to (.?) Da yardımcı olmayacaktır. Dışlamak için bir yol düşünmek gerekir.