php字符串替换问题

WBOY
Libérer: 2016-09-12 17:44:43
original
1201 Les gens l'ont consulté

preg_replace函数可以根据一个正则来匹配替换,而且可以指定次数,现在我有个需求是这样的,我想替换指定的匹配的第n次来替换,比如一个字符串,我写了一个正则,这个字符串总共能匹配出三处,然后我只想替换匹配出的第二次该怎么办?php有没有这样的实现?

回复内容:

preg_replace函数可以根据一个正则来匹配替换,而且可以指定次数,现在我有个需求是这样的,我想替换指定的匹配的第n次来替换,比如一个字符串,我写了一个正则,这个字符串总共能匹配出三处,然后我只想替换匹配出的第二次该怎么办?php有没有这样的实现?

使用preg_replace_callback
使用方法请参考手册

可以用preg_replace_callback来处理,他调用其他函数来处理替换,你可以自己处理替换的逻辑

直接上代码吧:

<code>$i=1;
$result = preg_replace_callback('/a/',function($match)use(&$i){
    $match = $i != 2 ? $match[0] : '';
    $i++;
    return $match;
},'a1a2a3a4');
var_dump($result);</code>
Copier après la connexion
Étiquettes associées:
php
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!