龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

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

时间:2014-07-08 02:35来源:网络整理 作者:网络 点击:
分享到:
PHP 字符串同时替换多个关键词 同时替换一个字符串里的几个关键词。确实搞复杂了,应该strtr就可以搞定了,当时只关注str_replace了,以为别无他法了,可以无视这段代码了。[代码片段

同时替换一个字符串里的几个关键词。

确实搞复杂了,应该strtr就可以搞定了,当时只关注str_replace了,以为别无他法了,可以无视这段代码了。

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);
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接