php中的字符串常用函数(三) str_replace() 子字符串替换

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能搞定。这个函数就可以了。

上一篇:IO流(三)__字节流 标准输入输出流 转换流


下一篇:freopen()——重定向标准输入输出流