PHP数组一对一替换实现代码

复制代码代码如下所示:
< PHP
标题(内容类型:文本/ HTML;字符集= UTF-8);
功能multiple_replace_words(合字取代美元,美元,美元#字符串,tmp_match =a_a #){
preg_match_all(‘/'。$字。' / ',为字符串,$matches); / /匹配所有关键词
$搜索=爆炸('、'(' / /,$matches { 0 },‘/'。崩溃)。/);
没有匹配/关键字
如果(空($匹配{ 0 }))返回false;
特殊置换组
$ =计数($匹配{ 0 });
foreach(取代美元美元美元关键= > Val){
如果(!isset($matches { 0 } { $关键}))设置(美元取代{ $关键}); / /消除跨境置换
}
用特殊的替换数组和匹配数组
($ i = 0;$ i <计数;$ + +){
$匹配{ 0 } {我} = isset(美元取代{ $我}){ }:我代替美元美元美元美元比赛{ 0 } {我};
}
$替换= $匹配{ 0 };
防止 / /更换周期仍被替换,字符替换字符,在一个特定的字符tmp_match美元临时更换时间
美元=崩溃(','代替,取代美元);
取代美元= str_replace(美元的话,tmp_match取代美元,美元); / /临时替换字符
替换=爆炸(,,$替换);
替换
美元($搜索字符串preg_replace取代美元,美元,字符串,1); / /只替换数组中
$字符串str_replace(tmp_match美元,美元的话,为字符串); / /还原,临时替换字符
返回$字符串;
}
1
$字符串'aaabaaacaaadaaa;
$字= 'AAA';
取代美元=阵列(null,'xxx ','yyy);
原文:回声。为字符串,输出:'。multiple_replace_words(合字,取代美元,美元的字符串);
2
为字符串=中国AAAB中国ccaaad中国EEE;
美元=中文;
替换=数组(空,(替换中文2),(替换中文3);
原文:回声。为字符串,输出:'。multiple_replace_words(合字,取代美元,美元的字符串);
*
输出结果:
原文:aaabaaacaaadaaa
输出:aaabxxxcyyydaaa
原文:中国中国中国ccaaad AAAB Eee
输出:中国AAAB(取代中国ccaaad(2)取代中国3)Eee


作者:zjmainstay