Rumah > Soal Jawab > teks badan
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粉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