• 17-05-2023, 00:25:20
    #1
    Bbcode eklentisi yapmak istiyorum ancak preg_replace işlemiyor hatam nerde sizce
    function bbCode_iletisim($text,$val) {
        // BBcode Tanımlamaları
        $bbcode = array(
        '~\{gonderenad}~s',
        '~\{eposta}~s',
        '~\{gonderenip}~s',
        '~\{mesaj}~s',
        '~\{taleptur}~s'
        );
        // HTML Etiketleri
        $html = array(
        (isset($val["gonderenad"]) ? $val["gonderenad"]:''),
        (isset($val["eposta"]) ? $val["eposta"]:''),
        (isset($val["gonderenip"]) ? $val["gonderenip"]:''),
        (isset($val["mesaj"]) ? $val["mesaj"]:''),
        (isset($val["taleptur"]) ? $val["taleptur"]:'')
        );
        // BBCode Çeviriyoruz
        return preg_replace($bbcode,$html,$text);
     }
    var_dump(bbCode_iletisim("
    Merhaba {gonderenad} <br>Bizimle {taleptur} talebiniz hakkında iletişime geçtiğiniz için teşekkür ederiz.<br>
    Adınız Soyadınız:{gonderenad}<br>IP adresi:{gonderenip}<br>Talep Türü:{taleptur}<br>Eposta Adresi:{eposta}<br>Mesajınız:{mesaj}",array("gonderenad "=>"aa","eposta"=>"aa@aa.com.tr","gonderenip"=>"127.0.0.1","taleptur"=>"Oneri","mesaj"=>"Çözümsüz çözüm"));
  • 17-05-2023, 00:37:13
    #2
    function bbCode_iletisim($text, $val) {
        // BBcode Tanımlamaları
        $bbcode = array(
            '~\{gonderenad}~s',
            '~\{eposta}~s',
            '~\{gonderenip}~s',
            '~\{mesaj}~s',
            '~\{taleptur}~s'
        );
    
        // HTML Etiketleri
        $html = array(
            (isset($val["gonderenad"]) ? $val["gonderenad"] : ''),
            (isset($val["eposta"]) ? $val["eposta"] : ''),
            (isset($val["gonderenip"]) ? $val["gonderenip"] : ''),
            (isset($val["mesaj"]) ? $val["mesaj"] : ''),
            (isset($val["taleptur"]) ? $val["taleptur"] : '')
        );
    
        // BBCode Çeviriyoruz
        return preg_replace($bbcode, $html, $text);
    }
    
    var_dump(bbCode_iletisim("
    Merhaba {gonderenad} <br>Bizimle {taleptur} talebiniz hakkında iletişime geçtiğiniz için teşekkür ederiz.<br>
    Adınız Soyadınız: {gonderenad}<br>IP adresi: {gonderenip}<br>Talep Türü: {taleptur}<br>Eposta Adresi: {eposta}<br>Mesajınız: {mesaj}",
        array(
            "gonderenad" => "aa",
            "eposta" => "aa@aa.com.tr",
            "gonderenip" => "127.0.0.1",
            "taleptur" => "Oneri",
            "mesaj" => "Çözümsüz çözüm"
        )
    ));

    bu şekilde güncelleyip deneyebilir misin?
  • 17-05-2023, 00:37:18
    #3
    1. Hatayı gidermek için preg_replace_callback işlevini kullanmanızı öneririm. Bu işlev, düzenli ifadeyle eşleşen her eşleşme için bir geri çağırma işlevini çalıştırır. Bu, eşleşmeleri dönüştürmek için özel bir işlev tanımlamanızı sağlar.
    2. $bbcode ve $html dizilerinizdeki anahtar değerlerin eşleşmesini sağlamak için => operatörünü kullanmanız gerekiyor. Ancak, kodunuzda bazı boşluklarla birlikte yanlışlıkla ekstra boşluk bırakmışsınız.
    function bbCode_iletisim($text, $val) {
        // BBcode Tanımlamaları
        $bbcode = array(
            '~\{gonderenad}~s',
            '~\{eposta}~s',
            '~\{gonderenip}~s',
            '~\{mesaj}~s',
            '~\{taleptur}~s'
        );
    
        // HTML Etiketleri
        $html = array(
            (isset($val["gonderenad"]) ? $val["gonderenad"] : ''),
            (isset($val["eposta"]) ? $val["eposta"] : ''),
            (isset($val["gonderenip"]) ? $val["gonderenip"] : ''),
            (isset($val["mesaj"]) ? $val["mesaj"] : ''),
            (isset($val["taleptur"]) ? $val["taleptur"] : '')
        );
    
        // BBCode Çeviriyoruz
        return preg_replace_callback($bbcode, function($matches) use ($html) {
            return $html[array_search($matches[0], $bbcode)];
        }, $text);
    }
    
    var_dump(bbCode_iletisim("
    Merhaba {gonderenad} <br>Bizimle {taleptur} talebiniz hakkında iletişime geçtiğiniz için teşekkür ederiz.<br>
    Adınız Soyadınız:{gonderenad}<br>IP adresi:{gonderenip}<br>Talep Türü:{taleptur}<br>Eposta Adresi:{eposta}<br>Mesajınız:{mesaj}", array("gonderenad" => "aa", "eposta" => "aa@aa.com.tr", "gonderenip" => "127.0.0.1", "taleptur" => "Oneri", "mesaj" => "Çözümsüz çözüm")));
    gpt
  • 17-05-2023, 04:55:57
    #4
    function bbCode_iletisim($text, $val) {
        // BBcode Tanımlamaları
        $bbcode = array(
            '~\{gonderenad}~s',
            '~\{eposta}~s',
            '~\{gonderenip}~s',
            '~\{mesaj}~s',
            '~\{taleptur}~s'
        );
        // HTML Etiketleri
        $html = array(
            (isset($val["gonderenad"]) ? $val["gonderenad"] : ''),
            (isset($val["eposta"]) ? $val["eposta"] : ''),
            (isset($val["gonderenip"]) ? $val["gonderenip"] : ''),
            (isset($val["mesaj"]) ? $val["mesaj"] : ''),
            (isset($val["taleptur"]) ? $val["taleptur"] : '')
        );
        // BBCode Çeviriyoruz
        return preg_replace($bbcode, $html, $text);
    }
    
    var_dump(bbCode_iletisim("
    Merhaba {gonderenad} <br>Bizimle {taleptur} talebiniz hakkında iletişime geçtiğiniz için teşekkür ederiz.<br>
    Adınız Soyadınız:{gonderenad}<br>IP adresi:{gonderenip}<br>Talep Türü:{taleptur}<br>Eposta Adresi:{eposta}<br>Mesajınız:{mesaj}", array("gonderenad"=>"aa", "eposta"=>"aa@aa.com.tr", "gonderenip"=>"127.0.0.1", "taleptur"=>"Oneri", "mesaj"=>"Çözümsüz çözüm")));
  • 17-05-2023, 14:26:07
    #5
    mehmetkul adlı üyeden alıntı: mesajı görüntüle
    function bbCode_iletisim($text, $val) {
        // BBcode Tanımlamaları
        $bbcode = array(
            '~\{gonderenad}~s',
            '~\{eposta}~s',
            '~\{gonderenip}~s',
            '~\{mesaj}~s',
            '~\{taleptur}~s'
        );
        // HTML Etiketleri
        $html = array(
            (isset($val["gonderenad"]) ? $val["gonderenad"] : ''),
            (isset($val["eposta"]) ? $val["eposta"] : ''),
            (isset($val["gonderenip"]) ? $val["gonderenip"] : ''),
            (isset($val["mesaj"]) ? $val["mesaj"] : ''),
            (isset($val["taleptur"]) ? $val["taleptur"] : '')
        );
        // BBCode Çeviriyoruz
        return preg_replace($bbcode, $html, $text);
    }
    
    var_dump(bbCode_iletisim("
    Merhaba {gonderenad} <br>Bizimle {taleptur} talebiniz hakkında iletişime geçtiğiniz için teşekkür ederiz.<br>
    Adınız Soyadınız:{gonderenad}<br>IP adresi:{gonderenip}<br>Talep Türü:{taleptur}<br>Eposta Adresi:{eposta}<br>Mesajınız:{mesaj}", array("gonderenad"=>"aa", "eposta"=>"aa@aa.com.tr", "gonderenip"=>"127.0.0.1", "taleptur"=>"Oneri", "mesaj"=>"Çözümsüz çözüm")));
    Sonuç vermedi hocam
  • 18-05-2023, 04:18:26
    #6
    Developer
    <?php
    function bbCode_iletisim($text,$val) {
        // BBcode Tanımlamaları
        $bbcode = array(
        '~\{gonderenad}~s',
        '~\{eposta}~s',
        '~\{gonderenip}~s',
        '~\{mesaj}~s',
        '~\{taleptur}~s'
        );
        // HTML Etiketleri
        $html = array(
        (isset($val["gonderenad"]) ? $val["gonderenad"]:''),
        (isset($val["eposta"]) ? $val["eposta"]:''),
        (isset($val["gonderenip"]) ? $val["gonderenip"]:''),
        (isset($val["mesaj"]) ? $val["mesaj"]:''),
        (isset($val["taleptur"]) ? $val["taleptur"]:'')
        );
        // BBCode Çeviriyoruz
        return preg_replace($bbcode,$html,$text);
     }
     
     $val = array(
          "gonderenad" => "qweqeq",
          "eposta" => "aa@aa.com.tr",
          "gonderenip" => "127.0.0.1",
          "taleptur" => "Oneri",
          "mesaj" => "Çözümsüz çözüm"
      );
     
     $text = "Merhaba {gonderenad} <br>Bizimle {taleptur} talebiniz hakkında iletişime geçtiğiniz için teşekkür ederiz.<br>Adınız Soyadınız:{gonderenad}<br>IP adresi:{gonderenip}<br>Talep Türü:{taleptur}<br>Eposta Adresi:{eposta}<br>Mesajınız:{mesaj}";
     
    echo bbCode_iletisim($text,$val);
    ?>