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