php 字符串替换指定次数的方法--str_replace函数
2017-05-16 22:56:51
•
阅读
打赏
本文主要介绍了php 字符串替换指定次数的方法--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函数
例子:
/**
* 对字符串执行指定次数替换
* @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函数的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助。
相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型