Rumah  >  Soal Jawab  >  teks badan

Elakkan menggantikan rentetan berulang kali, ganti sekali sahaja

Saya cuba menggantikan rentetan tetapi ia berfungsi seperti gelung

$especiais = ["b", "c", "k", "g", "j", "d", "f", "a", "e", "m", "i", "y", "h", "l", "p", "q", "n", "x", "o", "r", "z", "u", "v", "w", "s", "t"];

$certo =  ["pn", "veh", "veh", "ged", "ged", "gal", "or", "un", "graph", "tal", "gon", "gon", "na", "ur", "mals", "ger", "drux", "pal", "med", "don", "ceph", "van", "van", "van", "fam", "gisg"];

$resultado = str_replace($especiais, $certo, $phrase);

Sampel kod pengembalian: OL pengembalian medvanandon

Hasil tepat yang saya perlukan ialah OL kembali MEDUR

Saya memerlukan setiap huruf digantikan dengan huruf yang sepadan dengan tepat, tetapi dalam kod ini, penggantian diulang beberapa kali.

P粉257342166P粉257342166382 hari yang lalu508

membalas semua(1)saya akan balas

  • P粉021553460

    P粉0215534602023-09-07 00:38:42

    Terdapat notis dalam dokumentasi str_replace() PHP yang berbunyi:

    Sebaliknya, saya syorkan menggunakan strtr(), yang membolehkan anda menghantar tatasusunan "penggantian" dalam format (dari => ke), seperti dalam contoh berikut:

    $replace = [
        'b' => 'pn',
        'c' => 'veh',
        'k' => 'veh',
        'g' => 'ged',
        'j' => 'ged',
        'd' => 'gal',
        'f' => 'or',
        'a' => 'un',
        'e' => 'graph',
        'm' => 'tal',
        'i' => 'gon',
        'y' => 'gon',
        'h' => 'na',
        'l' => 'ur',
        'p' => 'mals',
        'q' => 'ger',
        'n' => 'drux',
        'x' => 'pal',
        'o' => 'med',
        'r' => 'don',
        'z' => 'ceph',
        'u' => 'van',
        'v' => 'van',
        'w' => 'van',
        's' => 'fam',
        't' => 'gisg',
    ];
    
    $phrase = 'ol';
    
    echo strtr($phrase, $replace);

    Ini akan memberikan anda output yang anda jangkakan, seperti yang ditunjukkan di bawah:

    medur

    Demo: https://tehplayground.com/5YSxPYZfreiPTz9K

    balas
    0
  • Batalbalas