• 08-05-2007, 14:58:25
    #1
    Üyeliği durduruldu
    $pat="/s-(.*?)>(.*?)<(.*?)\|(.*?)>/";
    $yeni=preg_replace($pat,'s-$1>$2<$3|$4>', $icerik);
    print_r(nl2br(htmlspecialchars($yeni)));
    preg_replace komutunda ilk defa kullanmak istediğim bir komut var $4 e veya diğer şekliyle \\4 e denk gelen sayı üzerinde matematiksel işlem yapmak istiyorumatıyorum $4 e gelen sayı 10 ve ben bunu 6 ile toplamak istiyorum değişikliklerin hepsinde geçerli olmasını sağlamam lazım..

    bu olayı birkaç farklı yolla yapabilirim ama hepsinde bir döngüye almam gerekiyor bu işlem çok yapılacağı için performansı alıp götürmesin diyorum
    ama bu tarz işler için tek bir komutun eksikliğini çekiyorum açıkcası bendemi sorun var diye php manual vs. heryere baktım ama cevabı yok.

    $yeni=preg_replace($pat,'s-$1>$2<\3|'.intval("$4").'>', $icerik);
    // bu tarz şeylerde denedim ama sayıya bile dönüşmüyor bir türlü
    Bu tarz şeyler için matematiksel işlem yapabileceğim tek komut bilen varmıdır yoksa phpde eksiklik diyebilirmiyiz.
  • 08-05-2007, 16:10:25
    #2
    Üyeliği durduruldu
    e eklenince fonksyon olarakda eklemeye izin veriyormuş normal php fonksiyonlarınada izin veriyormuş.

    $yeni = preg_replace("'s-(.*?)>(.*?)<(.*?)\|(.*?)>'e","'s-\\1>\\2<\\3|'.intval('\\4'*1.15).'>'",$icerik);
    php manualde de aşağıdaki şekilde örnek vermişler aslında deneye deneye stres yaptık görmedik demekki
    <?php
    preg_replace("/(<\/?)(\w+)([^>]*>)/e", 
                 "'\\1'.strtoupper('\\2').'\\3'", 
                 $html_body);
    ?>