PHP str_replace 字符串函数
-
定义和用法
str_replace - 子字符串替换 -
版本支持
PHP4 PHP5 PHP7 支持 支持 支持 -
语法
str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果。如果没有一些特殊的替换需求(比如正则表达式),你应该使用该函数替换 ereg_replace() 和 preg_replace()。 -
参数
参数 必需的 描述 search 是 查找的目标值,也就是 needle。一个数组可以指定多个目标。 replace 是 search 的替换值。一个数组可以被用来指定多重替换。 subject 是 执行替换的数组或者字符串。也就是 haystack。如果 subject 是一个数组,替换操作将遍历整个 subject,返回值也将是一个数组。 count 否 如果被指定,它的值将被设置为替换发生的次数。 如果 search 和 replace 为数组,那么 str_replace() 将对 subject 做二者的映射替换。如果 replace 的值的个数少于 search 的个数,多余的替换将使用空字符串来进行。如果 search 是一个数组而 replace 是一个字符串,那么 search 中每个元素的替换将始终使用这个字符串。该转换不会改变大小写。如果 search 和 replace 都是数组,它们的值将会被依次处理。 -
返回值
该函数返回替换后的数组或者字符串。 -
示例
尝试一下<?php // 替换顺序 $str = "Line 1\nLine 2\rLine 3\r\nLine 4\n"; $order = array("\r\n", "\n", "\r"); $replace = '<br />'; // 首先替换 \r\n 字符,因此它们不会被两次转换 $newstr = str_replace($order, $replace, $str); echo $newstr; echo '<br/>'; // 输出 F ,因为 A 被 B 替换,B 又被 C 替换,以此类推... // 由于从左到右依次替换,最终 E 被 F 替换 $search = array('A', 'B', 'C', 'D', 'E'); $replace = array('B', 'C', 'D', 'E', 'F'); $subject = 'A'; echo str_replace($search, $replace, $subject); echo '<br/>'; // 输出: apearpearle pear // 由于上面提到的原因 $letters = array('a', 'p'); $fruit = array('apple', 'pear'); $text = 'a p'; $output = str_replace($letters, $fruit, $text); echo $output; ?>
-
相关函数
str_ireplace() - str_replace 的忽略大小写版本substr_replace() - 替换字符串的子串preg_replace() - 执行一个正则表达式的搜索和替换strtr() - 转换指定字符