Home >Backend Development >PHP Tutorial >Explanation of php str_replace method of replacing specified times
php str_replace method, replace the string
The format is as follows:
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
search The target value to search for, which is needle. An array can specify multiple targets.
replace Replacement value for search. An array can be used to specify multiple replacements.
subject Array or string to perform replacement. That is haystack. If subject is an array, the replacement operation will traverse the entire subject and the return value will also be an array.
count If specified, its value will be set to the number of times replacement occurred. That is, how many replacements have occurred in total.
Explanation:
If search and replace are arrays, then str_replace() will do both for the subject. Mapping replacement.
If the number of replace values is less than the number of search values, empty strings will be used for redundant replacements.
If search is an array and replace is a string, then the replacement of each element in search always uses this string.
str_replace replacement method is case-sensitive.
Example:
<?php $str = 'abcdefgh'; echo str_replace('abc', '123', $str); // 123defgh $str = '123456'; $search = array(1, 2, 3, 4, 5, 6); $replace = array('a', 'b', 'c', 'd', 'f', 'g'); echo str_replace($search, $replace, $str); // abcdefg $arr = array('abc','bac','cba'); $result = str_replace('b', 'B', $arr, $count); print_r($result); // Array ( [0] => aBc [1] => Bac [2] => cBa ) echo $count; // 3 共替换了3次 ?>
It is more convenient to use str_replace to replace strings, but all values matching search will be Replaced with the value of replace. If you want to replace a specified number of times, this method cannot be implemented.
For example: user_order_list is replaced with user/order_list
862320a07e122d7c1dc458a27bae16d3
Replace the specified The method of times can be implemented using the regular preg_replace method.
<?php /** * 对字符串执行指定次数替换 * @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); } ?>
Example:
<?php $str = 'user_order_list'; echo str_replace_limit('_', '/', $str, 1); // user/order_list $arr = array('abbc','bbac','cbba'); $result = str_replace_limit('b', 'B', $arr, 1); print_r($result); // Array ( [0] => aBbc [1] => Bbac [2] => cBba ) ?>
This article explains the php str_replace method of replacing a specified number of times. For more related content, please pay attention to the php Chinese website.
Related recommendations:
About header, headers_sent, headers_list, header_remove usage instructions
## Query mysql through PDO to return the field integer Solution to change the type into String
Use php to obtain the country, province, city, and surrounding data class based on geographical coordinates
The above is the detailed content of Explanation of php str_replace method of replacing specified times. For more information, please follow other related articles on the PHP Chinese website!