Home > Article > Backend Development > PHP cleverly uses functions to replace given substrings with * signs (case insensitive)
In the previous article, we introduced a string replacement method, which can replace a given substring with other values in a case-sensitive manner. If you are interested, you can click on the link to check → "How to use PHP to replace a given substring with another value?" Replace the stator string with * (case sensitive) 》. This time we will introduce to you another method of replacing a given substring in a string. You can refer to it if you need it.
Above we introduced the method of using the str_replace() function to replace a given substring. This method is case-sensitive (that is, case-sensitive), as long as there is a character in the string whose case does not meet the requirements. , cannot be exactly the same as the given substring, then no replacement will be performed.
But sometimes when performing string replacement, it does not need to be so strict and the case of characters can be ignored. Today we will introduce a method that is insensitive to the case of replacement characters.
Let's take a look at the following example:
<?php $str = 'hello,world,Hello,World'; $replace = '*'; $search1 = 'hello'; $search2 = 'world'; echo str_ireplace($search1, $replace, $str)."<br>"; echo str_ireplace($search2, $replace, $str)."<br>"; ?>
Observe the above code, we need to add the $str string "hello,world,Hello,World
" to The "hello
" and "world
" substrings are replaced with *
. However, there are two types of $str strings that meet the requirements: one is a complete match (case consistent), and the other is an incomplete match (case is inconsistent).
But because we are using the str_ireplace() function, which can ignore case, it will replace the two substrings "hello" and "Hello", "world" and "world" in the string $str that meet the requirements. "World" is replaced with *. So the output result is:
# Isn’t it very simple? Let’s take a look at this str_ireplace() function.
str_ireplace($search,$replace,$string,$count)
The function can ignore some characters in the replacement string, ignoring the case. The parameters accepted by this function are the same as the str_replace() function. Similarly, the first three parameters are required (cannot be omitted), and the last parameter $count
is omitted (but if set, the number of substitutions can be obtained).
Parameter$count
can accept a variable to count the number of substitutions; if this parameter is set, you can know how many substitutions have been performed in total.
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $str = 'hello,world,Hello,World'; $replace = '*'; $search1 = 'hello'; $search2 = 'world'; echo str_ireplace($search1, $replace, $str, $i)."<br>"; echo "一共执行了 $i"." 次替换<br><br>"; echo str_ireplace($search2, $replace, $str, $i)."<br>"; echo "一共执行了 $i"." 次替换<br><br>"; ?>
Output result:
Explanation:
Because str_ireplace() and str_replace() functions are Directly give the substring that needs to be replaced, so both functions can be used to replace Chinese characters.
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $str = '你好,欢迎来到这里!'; $replace = '*'; $search1 = '你好'; $search2 = '欢迎'; echo str_ireplace($search1, $replace, $str)."<br>"; echo str_replace($search2, $replace, $str)."<br>"; ?>
Output result:
The pure Chinese string is almost the same, but in the mixed Chinese and English string, because it is case-sensitive, it can Choose which one to use based on your needs.
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $str = '你好,欢迎来到PHP中文网!'; $replace = '这里'; $search1 = 'PHP中文网'; $search2 = 'php中文网'; echo str_ireplace($search1, $replace, $str)."<br>"; echo str_replace($search2, $replace, $str)."<br>"; ?>
Output result:
Okay, that’s all. If you want to know anything else, you can click this. → →php video tutorial
Finally, I recommend reading a classic course "PHP String Processing (Jade Girl Heart Sutra Edition)", it's free~ come and learn !
The above is the detailed content of PHP cleverly uses functions to replace given substrings with * signs (case insensitive). For more information, please follow other related articles on the PHP Chinese website!