gittiğiniz yol için çözümü bulmuş olmanız güzel. kullan20 içerisinde açılan em tagını ssem şeklinde değiştirmişsiniz fakat kapanışları değiştirmemişsiniz.

özellikle öyle bırakmadıysanız ki umarım bırakmamışsınızdır, orayı da bir kontrol etmenizi öneririm.

$out = str_replace(array('</blockquote>', '</em>'), array('', '</semm>'), $icerik);
$out = preg_replace(array('`(<blockquote)([^\w])`i', '`(<em)([^\w])`i'), array("", "<semm$2"), $out);
şöyle de yapılabilir.

kolaylıklar.

aslan002 adlı üyeden alıntı: mesajı görüntüle
merhaba arkadaşlar;
Bir sorunum var. Şöyle anlatayım. bir içerik var. ben bu içeriğin belli bir yerini örneğin <blockquote>(.*?)<\/blockquote> tagları arasını preg_replace alıyorum. str_replace fonksiyonu ile de yalnızca preg_replace ile aldığım kısım üzerinde değişiklikler yapmak istiyorum. aşağıya örnek kod ekliyorum.

$icerik = '
<blockquote><p><em>"bu deneme bir içeriktir 1"</em></p></blockquote>
<p>bu deneme bir içeriktir 2</p>
';


function kullan20($text){
$gkod  = array(
"<em>"
);
$dkod = array(
"<ssem>"
);
$ykod = str_replace($gkod,$dkod,$text);
return $ykod;
}


function icerikbul($temizleme){
$result1 = preg_replace('/<blockquote>(.*?)<\/blockquote>/', " ".kullan20("\\1")."", $temizleme);
return $result1;
}

echo  icerikbul($icerik);
burada icerikbul fonksiyonu ile $icerik değişkeni içindeki <blockquote>(.*?)<\/blockquote> kısmını alıyorum. aldığım yer \\1 olarak yazıyorum. \\1 üzerinde function kullan20 fonksiyonunu çalıştırdığımda function kullan20 fonkiyonu buna etki etmiyor. oluşturduğum kullan20 fonksiyonun \\1 değişkenine nasıl etki edebilirim. Lütfen birisi Allah rızası için yardım etsin.

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 10:46:44 -->-> Daha önceki mesaj 09:59:42 --

arkadaşlar sorunu hallettim. olur da ihtiyacı olan olur bir gün faydam olsun.

$result = preg_replace_callback("/<blockquote>(.*?)<\/blockquote>/isU", function($m) { return kullan20($m[1]); },$icerik);
bu fonsiyon sorunumu halletti.