Maison php教程 php手册 php 只替换第一次出现的字符串

php 只替换第一次出现的字符串

Jun 02, 2016 am 09:14 AM
explode substr

在php中要替换串中指定字符我们一般会一次全部替换,如str_replace函数,但有时只想替换第一次出现的,像文章的关键词替换了,这个如果有100个不可能出现100次啊,我只想限制几次了,下面我来给各位介绍实现方法。

$str='这是字符串我只替换ABC一次后面的ABC我不替换了,有没有办法实现。';

把第一个abc替换成xyz,由于要替换的字符串是固定的,很多人想到了用str_replace()函数,看看这个函数的使用是不是我们要的

str_replace( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

不小心还真以为是我们想要的呢,最后那个参数是返回替换发生的总次数,它是一个引用变量,而不是我要想要的指定它将替换几次,所以用str_replace()是不行的

preg_replace()是可以实现的,可惜用了正则,

 代码如下 复制代码

$str=preg_replace('/abc/','abc',$str,1);
echo $str;

显示email为 从@前2位(含)开始向前隐藏4位

 代码如下 复制代码

function show_email_2($string){
        $first = strpos($string, '@');
        //var_dump($first);
        if($first==1){
            $string = '****'.$string;
        }
        if($first>1 && $first            $string = substr_replace($string,'****',0,$first-1);           
        }
        if($first>5){
            $string = substr_replace($string,'****',$first-5,4);
        }
       
        var_dump($string);
        return $string;
    }
    //show_email_2('22@163.com');        //输出-->****2@163.com
    //show_email_2('22@22.com');        //输出-->****2@22.com
    show_email_2('6123456@163.com');    //输出-->61****6@163.com

有没有不用正则的,嗯可以这样

$replace='xyz';
if(($position=strpos($str,$replace))!==false){
     $leng=strlen($replace);
    $str=substr_replace($str,'abc',$position,$leng);
}
echo $str;

如果我想替换到指定次数可参考下面方法

 

 代码如下 复制代码

/*
 * $text是输入的文本;
 * $word是原来的字符串;
 * $cword是需要替换成为的字符串;
 * $pos是指$word在$text中第N次出现的位置,从1开始算起
 * */
function changeNstr($text,$word,$cword,$pos=1){
$text_array=explode($word,$text);
$num=count($text_array)-1;
if($pos>$num){
return "the number is too big!or can not find the $word";
}
$result_str='';
for($i=0;$iif($i==$pos-1){
$result_str.=$text_array[$i].$cword;
}else{
$result_str.=$text_array[$i].$word;}

}

return rtrim($result_str,$word);
}
$text='hello world hello pig hello cat hello dog hello small boy';
$word='hello';
$cword='good-bye';
echo changeNstr($text,$word,$cword,3);
//输出:hello world hello pig good-bye cat hello dog hello small boy
?>

实例都很好理解,如果你不想深入了解我们直接使用str_replace即可实例了。



Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser la fonction d'explosion PHP et résoudre les erreurs Comment utiliser la fonction d'explosion PHP et résoudre les erreurs Mar 10, 2024 am 09:18 AM

La fonction d'explosion en PHP est une fonction utilisée pour diviser une chaîne en un tableau. Elle est très courante et flexible. Lors du processus d'utilisation de la fonction d'éclatement, nous rencontrons souvent des erreurs et des problèmes. Cet article présentera l'utilisation de base de la fonction d'éclatement et fournira quelques méthodes pour résoudre les rapports d'erreurs. 1. Utilisation de base de la fonction exploser En PHP, la syntaxe de base de la fonction exploser est la suivante : éclater(string$separator,string$stri

Erreurs courantes et solutions lors de l'utilisation de la fonction d'explosion en PHP Erreurs courantes et solutions lors de l'utilisation de la fonction d'explosion en PHP Mar 11, 2024 am 08:33 AM

Titre : Erreurs courantes et solutions lors de l'utilisation de la fonction exploser en PHP En PHP, la fonction exploser est une fonction courante utilisée pour diviser une chaîne en un tableau. Cependant, certaines erreurs courantes peuvent survenir en raison d'une mauvaise utilisation ou d'un format de données incorrect. Cet article analysera les problèmes que vous pouvez rencontrer lors de l'utilisation de la fonction d'éclatement et fournira des solutions et des exemples de code spécifiques. Erreur 1 : le paramètre délimiteur n'est pas transmis. Lors de l'utilisation de la fonction d'éclatement, l'une des erreurs les plus courantes est que le paramètre délimiteur n'est pas transmis.

PHP renvoie la valeur ASCII du premier caractère de la chaîne PHP renvoie la valeur ASCII du premier caractère de la chaîne Mar 21, 2024 am 11:01 AM

Cet article expliquera en détail la valeur ASCII du premier caractère de la chaîne renvoyée par PHP. L'éditeur pense que c'est très pratique, je la partage donc avec vous comme référence, j'espère que vous pourrez gagner quelque chose après avoir lu cet article. PHP renvoie la valeur ASCII du premier caractère d'une chaîne Introduction En PHP, obtenir la valeur ASCII du premier caractère d'une chaîne est une opération courante qui implique des connaissances de base sur le traitement des chaînes et l'encodage des caractères. Les valeurs ASCII sont utilisées pour représenter la valeur numérique des caractères dans les systèmes informatiques et sont essentielles à la comparaison des caractères, à la transmission et au stockage des données. Le processus d'obtention de la valeur ASCII du premier caractère d'une chaîne implique les étapes suivantes : Obtenir la chaîne : Déterminez la chaîne pour laquelle vous souhaitez obtenir la valeur ASCII. Il peut s'agir d'une variable ou d'une constante chaîne

Divisez et fusionnez des chaînes à l'aide des fonctions d'explosion et d'implosion Divisez et fusionnez des chaînes à l'aide des fonctions d'explosion et d'implosion Jun 15, 2023 pm 08:42 PM

En programmation PHP, le traitement des chaînes est une opération fréquemment requise. Parmi eux, le fractionnement et la fusion de chaînes sont deux exigences courantes. Afin d'effectuer ces opérations plus facilement, PHP propose deux fonctions très pratiques, à savoir les fonctions d'explosion et d'implosion. Cet article présentera l'utilisation de ces deux fonctions, ainsi que quelques compétences pratiques. 1. La fonction exploser La fonction exploser est utilisée pour diviser une chaîne selon le délimiteur spécifié et renvoyer un tableau. Son prototype de fonction est le suivant : arra

PHP renvoie la chaîne de la position de début à la position de fin d'une chaîne dans une autre chaîne PHP renvoie la chaîne de la position de début à la position de fin d'une chaîne dans une autre chaîne Mar 21, 2024 am 10:31 AM

Cet article expliquera en détail comment PHP renvoie la chaîne de la position de début à la position de fin d'une chaîne dans une autre chaîne. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence, j'espère que vous finirez de lire. cet article. Vous pouvez tirer quelque chose de cet article. Utilisez la fonction substr() en PHP pour extraire des sous-chaînes d'une chaîne. La fonction substr() peut extraire des caractères dans une plage spécifiée d'une chaîne. La syntaxe est la suivante : substr(string,start,length) où : string : la chaîne d'origine à partir de laquelle la sous-chaîne doit être extraite. start : L'index de la position de départ de la sous-chaîne (à partir de 0). length (facultatif) : la longueur de la sous-chaîne. Si non précisé, alors

Comprendre la fonction substr() en PHP pour intercepter les chaînes Comprendre la fonction substr() en PHP pour intercepter les chaînes Nov 18, 2023 am 11:27 AM

Comprendre la fonction substr() en PHP pour intercepter des chaînes Dans le langage PHP, la fonction substr() est une fonction de traitement de chaîne très utile, qui peut être utilisée pour intercepter des fragments de chaîne à une position et une longueur spécifiées. La fonction substr() accepte trois paramètres : la chaîne à intercepter, la position de départ de l'interception et la durée de l'interception. Ci-dessous, nous présenterons en détail l’utilisation de la fonction substr() et donnerons des exemples de code spécifiques. Utilisation de base de la fonction substr() fonction substr()

Que dois-je faire si php explosive signale une erreur ? Que dois-je faire si php explosive signale une erreur ? Jan 18, 2023 am 10:13 AM

Solution à l'erreur d'explosion de php : 1. Recherchez et ouvrez le code PHP erroné ; 2. Recherchez la partie de la fonction d'explosion ; 3. Modifiez le code en "dump(explode(',',$str));die;", c'est-à-dire , utilisez simplement une virgule pour séparer le tableau.

Diviser la chaîne en tableau à l'aide de la fonction PHP 'exploser' Diviser la chaîne en tableau à l'aide de la fonction PHP 'exploser' Jul 24, 2023 pm 11:09 PM

Utilisez la fonction PHP "exploser" pour diviser une chaîne en un tableau. Dans le développement PHP, vous rencontrez souvent des situations où vous devez diviser une chaîne selon un délimiteur spécifié. À l'heure actuelle, nous pouvons utiliser la fonction "explose" intégrée de PHP pour convertir une chaîne en tableau. Cet article explique comment utiliser la fonction « exploser » pour diviser une chaîne et donne des exemples de code pertinents. La syntaxe de base de la fonction "exploser" est la suivante : arrayexplode(

See all articles