1. 程式人生 > 實用技巧 >php 字串擷取 str_replace

php 字串擷取 str_replace

str_replace -字串替換

返回值--該函式返回替換後的陣列或者字串。

引數:search--查詢的目標值

   replace--search 的替換值。

subject--執行替換的陣列或者字串

 count--如果被指定,它的值將被設定為替換髮生的次數。

注意:由於 str_replace() 的替換時從左到右依次進行的,進行多重替換的時候可能會替換掉之前插入的值

該函式區分大小寫。使用 str_ireplace() 可以進行不區分大小寫的替換。

# 將 hi  -->hello
   $str='hi,this is lily,history';
   echo  str_replace('hi','hello',$str);  //hello,thellos is lily,hellostory

  

# 統計替換了多少次
    $str1='hi,this is lily,history';
    echo  str_replace('is','myis',$str1,$num); //hi,thmyis myis lily,hmyistory
    echo $num;  //3

  

# 把 hi 換成 hello  再把hello換成ul
    $str2='hi,this is lily,history';
    $str2=str_replace('hi','hello',$str2);
    echo $str2,'<br>';                                    //hello,thellos is lily,hellostory
    echo  str_replace('hello','ul',$str2); //ul,tuls is lily,ulstory

  

# 以上這種方法固然可以,但是太麻煩。有比較簡單的辦法。用陣列來替換完成以上問題
# 把 hi 換成 hello  再把hello換成ul
  $str3='hi,this is lily,history';
  $srarch=array('hi','hello'); //hello. thellohis is lily hellostory
  $replace=array('hello','ul'); //ul,tuls is lily,ulstory
   echo  str_replace($srarch,$replace,$str3);

  

/*
hi->hello
旦this 單詞中有hi,這樣導致也被替換了,導致this 單詞錯誤,能不能專替換hi單詞呢?如果hi是單詞一部分則不替換呢?

  答:如果沒有一些特殊的替換需求(比如正則表示式),你應該使用該函式替換 ereg_replace() 和 preg_replace()

*/


# hi=>hello, hello=>hi
$str4='hi lily, hello jim';
echo  str_replace(array('hi','hello'),array('hello','hi'),$str4);
# HI -HELLO   str4= hello  lily  hello  jim
# hello- hi   str4= hi Lily hi  jim