Heim > Fragen und Antworten > Hauptteil
Ich versuche, eine Zeichenfolge zu ersetzen, aber es funktioniert wie eine Schleife
$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);
Beispielcode gibt Folgendes zurück: OL gibt medvanandon
zurückDas genaue Ergebnis, das ich brauche, ist OL, das MEDUR
zurückgibtIch muss jeden Buchstaben genau durch den entsprechenden Buchstaben ersetzen, aber in diesem Code wird die Ersetzung mehrmals wiederholt.
P粉0215534602023-09-07 00:38:42
在str_replace()
PHP文档中有一条通知,内容如下:
相反,我建议使用strtr()
,它允许你以(from => to)的格式传递一个“替换”数组,如下面的示例:
$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);
这将提供您期望的输出,如下所示:
medur
演示: https://tehplayground.com/5YSxPYZfreiPTz9K