mixed str_replace ( mixed $search
, mixed $replace
, mixed $subject
[, int &$count
] );
該函數返回一個字符串或者數組。該字符串或數組是將 subject
中全部的 search
都被 replace
替換之後的結果。
返回值和前三個參數都可以為字符串或數組二者其一。第四個參數指定一個變量名為替換次數。
例1:參數全部為字符串。
$bodytag = str_replace ( "%body%" , "black" , "<body text='%body%'>" );
=>"<body text='black'>"
例2:參數1為數組,23為字符串。
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U", "P", "h"); $onlyconsonants = str_replace($vowels, "@", "Hello world of php", $count);
=>"H@ll@ w@rld @f p@p" //這個例子的p沒有被P匹配到。說明這個函數是大小寫敏感的。如果需要忽略大小寫可用str_ireplace()函數,用法一毛一樣。
=>$count =>5//替換了5次。分別是 e、 o、 o、 o、 h
例3:
$str = "Line 1\nLine 2\rLine 3\r\nLine 4\n"; $order = array("\r\n", "\n", "\r"); $replace = '<br/>'; $newStr = str_replace($order, $replace, $str, $count);
=>$count=>4//替換了4次。分別是\n、\r、\r\n、\n。注意,⚠️因為$order中把\r\n寫在前面所以第三次匹配沒有分成兩次\r,\n。
例4:
$letters = array( 'a' , 'p' ); $fruit = array( 'apple' , 'pear' ); $text = 'a p' ; $output = str_replace ( $letters , $fruit , $text , $count); echo $output ; echo $count;
=>猜一下會輸出啥吧。例4能搞定。這個函數就可以了。