Home >Backend Development >PHP Problem >How to convert a substring of a certain length into * sign in PHP
In the previous article, we introduced the case-sensitive method of obtaining the first or last occurrence of a substring in a string, and then determining whether the substring exists. If you need it, please see "PHP string learning to detect whether the substring exists (case sensitive)》. This time we will take you through string replacement and introduce how to use PHP to replace a substring of a certain length with an * sign.
PHP provides multiple functions that can perform string replacement, but their replacement methods are different. Some directly give the substring that needs to be replaced, and some give the starting position of the replacement and the length of the replacement. Today we will learn about the latter method.
Let’s take a look at the following example:
<?php $str = 'hello,world,hello,world'; $replace = '*'; echo substr_replace($str, $replace, 0,5)."<br>"; echo substr_replace($str, $replace, 6,5)."<br>"; ?>
Look at this code, what do you think it will output? Should "*,world,hello,world
" and "hello,*,hello,world
" be output? Is that right? Let's take a look at the output:
Yes, that's right. In the above example, the substr_replace() function replaces the string $str
starting from the first character, the 5-character substring "hello
" and the 7th character respectively. Starting with the character, the 5-character substring "world
" is replaced with *
.
Okay, now that we understand how to replace a substring of a certain length with a * sign, let’s take a look at the function substr_replace() that implements this function.
substr_replace($string,$replacement,$start,$length)
The function accepts three required parameters $string
, $replacement
(replacement value) and $start
(the position where the replacement starts), and an omissible parameter $length
(the number of characters to be replaced). The
substr_replace() function can be used in a copy of the string $string
with a substring qualified by the $start
and $length
parameters. $replacement
Perform replacement.
To put it simply, use the $replacement
value to start from the $start
position (note, the string position starts from 0), Replace $length
characters.
$start
has three value situations:
is a positive number, and the replacement will start from the $start position of $string.
is 0, the replacement will start from the first character of $string
is a negative number, the replacement will start from $string It starts at the penultimate position of $start.
$length
The parameter has four values:
is a positive number, which means the substituent being replaced The length of the string.
is a negative number, which means the number of characters from the end of the substring to be replaced to the end of $string.
is 0, then the substr_replace() function has the insertion function, and $replacement
will be inserted at the $start
position .
If this parameter is omitted, the default is strlen(string) (the length of the string), which replaces the entire substring starting from the $start position.
<?php $str = 'hello,world,hello,world'; $replace = '*'; echo substr_replace($str, $replace, 0,-5)."<br>"; echo substr_replace($str, $replace, -5,5)."<br>"; echo substr_replace($str, $replace, 6)."<br>"; ?>
Output result:
Okay, that’s all. If you want to know anything else, you can click This one. → →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 How to convert a substring of a certain length into * sign in PHP. For more information, please follow other related articles on the PHP Chinese website!