PHP字符串替换函数 可同时替换多个关键词

发布时间:2020-12-30编辑:脚本学堂
分享一例php代码,用于字符串的替换,亮点是可以同时替换多个关键词,有需要的朋友参考下吧。

本节内容:
可同时替换多个关键词的字符串替换函数。

实现了一个同时替换一个字符串里的几个关键词。
不过,好像strtr即可实现,当时只关注str_replace了,就有了以下的代码,权当练手了,感兴趣的朋友也可以作个参考。

例子:
 

复制代码 代码示例:
<?php
/**
* 字符串替换函数
* edit: www.jb200.com
*/
function replace($string,$keyArray,$replacement,$i){
    $result='';
    if($i<(count($keyArray))){
        $strSegArray=explode($keyArray[$i],$string);
        foreach ($strSegArray as $index=>$strSeg){
            $x=$i+1;
            if($index==(count($strSegArray)-1))
                $result=$result.replace($strSeg,$keyArray,$replacement,$x);
            else
                $result=$result.replace($strSeg,$keyArray,$replacement,$x).$replacement[$i];                
        }     
        return $result;
    }
    else{
        return $string;
    }
}

代码说明:
$string=' 键名 数组可以同时含有 integer 和 string 类型的键名,12345678 因为 PHP 实际并不区分索引数组和关联数组。
如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一。如果指定的键名已经有了值,则该值会被覆盖。';
示例:
 

复制代码 代码示例:
$keyArray=array('数组','integer','2345','键名');
$replacement=array('AAAA','BBBB','CCCC','DDDD');
echo replace($string,$keyArray,$replacement,0);