首页 > PHP教程 > php开发知识文章

php 字符串替换指定次数的方法--str_replace函数

本文主要介绍了php 字符串替换指定次数的方法--str_replace函数,具有很好的参考价值。下面跟着小编一起来看下吧

str_replace函数

str_replace函数

参考:http://www.yuqingqi.com/phpjiaocheng/71.html

说明:

如果 search 和 replace 为数组,那么 str_replace() 将对 subject 做二者的映射替换。

如果 replace 的值的个数少于 search 的个数,多余的替换使用空字符串来进行。

如果 search 是一个数组而 replace 是一个字符串,那么 search 中每个元素的替换始终使用这个字符串。

str_replace替换方法是区分大小写的。

例子:

$str = 'hello php';
echo str_replace('php', 'java', $str); // hello java

$str = '123456';
$search = array(1, 2);
$replace = array('a', 'c');
echo str_replace($search, $replace, $str); // ac

$arr = array('aphp', 'java', 'ac');
$result = str_replace('a', 'A', $arr, $count);
print_r($result); // Array ( [0] => Aphp [1] => jAvA [2] => Ac )
echo $count; // 4 共替换了4

使用 str_replace 来替换字符串比较方便,但所有匹配 search 的值都会被替换为 replace 的值。如果指想替换指定次数,这个方法就不能实现了。

例如:user_all_list 替换为user/all_list

$str = 'user_all_list';
echo str_replace('_', '/', $str); // user/all/list

替换指定次数的方法,可以使用正则 preg_replace 函数来实现。

 

preg_replace函数

preg_replace函数

例子:

/**
* 对字符串执行指定次数替换
* @param Mixed $search 查找目标值
* @param Mixed $replace 替换值
* @param Mixed $subject 执行替换的字符串/数组
* @param Int $limit 允许替换的次数,默认为-1,不限次数
* @return Mixed
*/
function str_replace_limit($search, $replace, $subject, $limit = -1)
{
if (is_array($search)) {
foreach ($search as $k => $v) {
$search[$k] = '`' . preg_quote($search[$k], '`') . '`';
}
} else {
$search = '`' . preg_quote($search, '`') . '`';
}
return preg_replace($search, $replace, $subject, $limit);
}

$str = 'user_all_list';
echo str_replace_limit('_', '/', $str, 1); // user/all_list

$arr = array('aphp', 'java', 'ac');
$result = str_replace_limit('a', 'A', $arr, 1);
print_r($result); // Array ( [0] => Aphp [1] => jAva [2] => Ac )

以上就是本文php 字符串替换指定次数的方法--str_replace函数的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助。

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。