避免重复替换字符串,仅替换一次
P粉257342166
P粉257342166 2023-09-06 11:10:09
0
1
492

我正在尝试替换字符串,但它像一个循环一样工作

$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);

示例代码返回:OL返回medvanandon

我需要的确切结果是OL返回MEDUR

我需要每个字母都准确地被对应的字母替换,但在这段代码中,替换重复了多次。

P粉257342166
P粉257342166

全部回复 (1)
P粉021553460

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

    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!