>백엔드 개발 >PHP 튜토리얼 >PHP 문자열은 동시에 여러 키워드를 대체합니다.

PHP 문자열은 동시에 여러 키워드를 대체합니다.

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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.