欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-16 17:12:02
...
同时替换一个字符串里的几个关键词。
确实搞复杂了,应该strtr就可以搞定了,当时只关注str_replace了,以为别无他法了,可以无视这段代码了。
  1. function replace($string,$keyArray,$replacement,$i){
  2. $result='';
  3. if($i $strSegArray=explode($keyArray[$i],$string);
  4. foreach ($strSegArray as $index=>$strSeg){
  5. $x=$i+1;
  6. if($index==(count($strSegArray)-1))
  7. $result=$result.replace($strSeg,$keyArray,$replacement,$x);
  8. else
  9. $result=$result.replace($strSeg,$keyArray,$replacement,$x).$replacement[$i];
  10. }
  11. return $result;
  12. }
  13. else{
  14. return $string;
  15. }
  16. }
  17. $string=' 键名 数组可以同时含有 integer 和 string 类型的键名,12345678 因为 PHP 实际并不区分索引数组和关联数组。
  18. 如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一。如果指定的键名已经有了值,则该值会被覆盖。';
  19. $keyArray=array('数组','integer','2345','键名');
  20. $replacement=array('AAAA','BBBB','CCCC','DDDD');
  21. echo replace($string,$keyArray,$replacement,0);
复制代码