Maison >développement back-end >Problème PHP >Comment convertir une sous-chaîne d'une certaine longueur en signe * en PHP
Dans l'article précédent, nous avons présenté la méthode sensible à la casse pour obtenir la première ou la dernière occurrence d'une sous-chaîne dans une chaîne, puis déterminer si la sous-chaîne existe. Si vous en avez besoin, veuillez consulter "Caractères PHP" Apprentissage de la chaîne. détecter si une sous-chaîne existe (sensible à la casse) 》. Cette fois, nous allons vous expliquer le remplacement de chaîne et vous présenter comment utiliser PHP pour remplacer une sous-chaîne d'une certaine longueur par un signe *.
PHP fournit plusieurs fonctions pouvant effectuer le remplacement de chaînes, mais leurs méthodes de remplacement sont différentes. Certains donnent directement la sous-chaîne qui doit être remplacée, et certains donnent la position de départ du remplacement et la longueur du remplacement. Aujourd'hui, nous allons découvrir cette dernière méthode.
Jetons un coup d'œil à l'exemple suivant :
<?php $str = 'hello,world,hello,world'; $replace = '*'; echo substr_replace($str, $replace, 0,5)."<br>"; echo substr_replace($str, $replace, 6,5)."<br>"; ?>
En regardant ce code, que pensez-vous qu'il va générer ? "*,world,hello,world
" et "hello,*,hello,world
" doivent-ils être affichés ? Est-ce correct ? Jetons un coup d'œil au résultat : *,world,hello,world
”和“hello,*,hello,world
”,那对不对呢,我们来看看输出结果:
是的,没错。在上例中,substr_replace()函数分别将字符串$str
从第一个字符开始,有5个字符长度的子串“hello
”和从第7个字符开始,有5个字符长度的子串“world
”替换成了*
号。
好了,了解了如何将某长度的子串换成*号,下面我们来了解一下实现这个功能的函数substr_replace()。
substr_replace($string,$replacement,$start,$length)
函数接受了三个必需参数$string
、$replacement
(替换值)和$start
(替换开始的位置),一个可省略的参数$length
(要替换的字符数目)。
substr_replace()函数可以在字符串 $string
的副本中将由 $start
和 $length
参数限定的子字符串使用 $replacement
进行替换。
简单来说,就是使用$replacement
值从$start
位置开始(注,字符串位置起始于 0),替换$length
数目的字符。
$start
有三种取值情况:
为正数,替换将从 $string 的 $start 位置开始。
为0 ,替换将从 $string 的第一个字符处开始
为负数,替换将从 $string 的倒数第 $start 个位置开始。
$length
参数有四种取值情况:
为正数,就表示被替换的子字符串的长度。
为负数,就表示待替换的子字符串结尾处距离 $string 末端的字符个数。
为 0,那么substr_replace()函数就有了插入功能,会将 $replacement
插入$start
$str
à partir du premier caractère, la sous-chaîne de 5 caractères "hello
" et la sous-chaîne à partir du premier caractère. A partir de 7 caractères, la sous-chaîne "world
" d'une longueur de 5 caractères est remplacée par le numéro *
. D'accord, maintenant que nous comprenons comment remplacer une sous-chaîne d'une certaine longueur par un signe *, jetons un coup d'œil à la fonction substr_replace() qui implémente cette fonction.
substr_replace($string,$replacement,$start,$length)
accepte trois paramètres requis $string
, $replacement
(remplacement value) et $start
(la position où commence le remplacement), un paramètre omis $length
(le nombre de caractères à remplacer).
La fonction substr_replace() peut être utilisée dans une copie de la chaîne $string
avec une sous-chaîne qualifiée par le $start
et le $length
paramètres$replacement à remplacer.
Pour faire simple, utilisez la valeur $replacement
à partir de la position $start
(notez que la position de la chaîne commence à 0) pour remplacer $length
nombre de caractères.
$start
a trois situations de valeur :
$length
a quatre valeurs : 🎜$replacement
sera inséré dans la position $start
. 🎜🎜🎜🎜🎜Si ce paramètre est omis, la valeur par défaut est strlen(string) (la longueur de la chaîne), qui remplace la sous-chaîne entière à partir de la position $start. 🎜🎜🎜<?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>"; ?>🎜Résultat de sortie : 🎜🎜🎜🎜🎜🎜D'accord, c'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer dessus. → →🎜Tutoriel vidéo php🎜🎜🎜Enfin, je vous recommande de lire un cours classique "🎜PHP String Processing (Jade Girl Heart Sutra Edition)🎜", c'est gratuit~ Venez apprendre ! 🎜
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!