如何在PHP中以不同的方式替换相同的值
我有一个立陶宛语变弱的代码:如何在PHP中以不同的方式替换相同的值,php,preg-replace,ksort,Php,Preg Replace,Ksort,我有一个立陶宛语变弱的代码: <?php $word = "namas"; $string = str_repeat("$word ", 4); $patterns = array(); $patterns[0] = '/as/'; $patterns[1] = '/as/'; $patterns[2] = '/as/';
<?php
$word = "namas";
$string = str_repeat("$word ", 4);
$patterns = array();
$patterns[0] = '/as/';
$patterns[1] = '/as/';
$patterns[2] = '/as/';
$patterns[3] = '/as/';
$replacements = array();
$replacements[0] = 'as';
$replacements[1] = 'o';
$replacements[2] = 'ui';
$replacements[3] = 'a';
ksort($patterns);
ksort($replacements);
echo preg_replace($patterns, $replacements, $string);
?>
如何以不同的方式进行替换?我希望得到这样的结果:
namas-namo-namui-nama
但我到处都有“纳摩纳摩” 像循环一样思考
更改为为,字符串变为“namas namas namas namas”
更改为,字符串变成'namo namo namo namo'
更改为
到ui
并且没有匹配('namo namo namo'保留)更改为
,但没有匹配('namo namo namo namo'保留)
这正是我认为您想要的:
<?php
$word ="namas";
$patterns = array();
$patterns[0] = '/as/';
$patterns[1] = '/as/';
$patterns[2] = '/as/';
$patterns[3] = '/as/';
$replacements = array();
$replacements[0] = 'as';
$replacements[1] = 'o';
$replacements[2] = 'ui';
$replacements[3] = 'a';
ksort($patterns);
ksort($replacements);
foreach ($patterns as $idx => $pat)
{
echo " " . preg_replace ($pat, $replacements[$idx], $word);
}
?>
进一步简化为:
<?php
$word ="namas";
$pattern = '/as/';
$replacements = array();
$replacements[0] = 'as';
$replacements[1] = 'o';
$replacements[2] = 'ui';
$replacements[3] = 'a';
foreach ($replacements as $replace)
{
echo " " . preg_replace ($pattern, $replace, $word);
}
?>
对不起,有点小错误。我的观点是通过一些案例来创建一个倾斜的范例。一定有和格一样的属格词等等。就这样,我试着替换“结束”。