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.
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.