Home >Backend Development >PHP Problem >How to convert a substring of a certain length into * sign in PHP

How to convert a substring of a certain length into * sign in PHP

青灯夜游
青灯夜游Original
2021-08-06 19:07:313175browse

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 = &#39;hello,world,hello,world&#39;;
$replace = &#39;*&#39;;
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:

How to convert a substring of a certain length into * sign in PHP

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 = &#39;hello,world,hello,world&#39;;
$replace = &#39;*&#39;;
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:

How to convert a substring of a certain length into * sign in PHP

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn