Elakkan menggantikan rentetan berulang kali, ganti sekali sahaja
P粉257342166
P粉257342166 2023-09-06 11:10:09
0
1
649

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粉257342166
P粉257342166

membalas semua(1)
P粉021553460

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!