PHP 8.3.4 Released!

mb_ereg_replace_callback

(PHP 5 >= 5.4.1, PHP 7, PHP 8)

mb_ereg_replace_callbackRechercher et remplacer par expression régulière avec support multi octets utilisant une fonction de callback

Description

mb_ereg_replace_callback(
    string $pattern,
    callable $callback,
    string $string,
    ?string $options = null
): string|false|null

Recherche les string qui correspondent au paramètre pattern, puis remplace les textes qui correspondent avec le retour de la fonction callback.

Le comportement de cette fonction est presque identique à mb_ereg_replace(), à part le fait que le paramètre replacement, doit spécifier une fonction de retour callback.

Liste de paramètres

pattern

L'expression régulière.

Les caractères multi octets peuvent être utilisé dans le pattern.

callback

Un callback qui sera appelé et lui sera passé un tableau d'éléments correspondants dans la chaine de caractères string. Le callback doit retourné la chaîne remplacée.

Vous aurez souvent besoin de la fonction callback pour mb_ereg_replace_callback() juste une fois. Dans ce cas vous pouvez utiliser les fonctions anonymes pour déclarer une fonction de rappel lors de l'appel de la fonction mb_ereg_replace_callback(). En faisait cela de cette manière vous avez toutes les informations nécessaires à l'appel de la fonction en un seul endroit, ce qui permet d'éviter d'encombrer l'espace de nom des fonctions avec un callback de fonction qui n'est pas utilisé ailleur.

string

La string qui doit être vérifiée.

options

L'option de recherche. Pour plus d'explications, consultez mb_regex_set_options().

Valeurs de retour

Retourne un string en cas de succès, ou false en cas d'erreur. Si string n'est pas valide pour l'encodage courant, null est retourné.

Historique

Version Description
8.0.0 options est désormais nullable.
7.1.0 Cette fonction vérifie si string est valide pour l'encodage courant.

Exemples

Exemple #1 Exemple avec mb_ereg_replace_callback()

<?php
// this text was used in 2002
// we want to get this up to date for 2003
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";
// the callback function
function next_year($matches)
{
// as usual: $matches[0] is the complete match
// $matches[1] the match for the first subpattern
// enclosed in '(...)' and so on
return $matches[1].($matches[2]+1);
}
echo
mb_ereg_replace_callback(
"(\d{2}/\d{2}/)(\d{4})",
"next_year",
$text);

?>

L'exemple ci-dessus va afficher :

April fools day is 04/01/2003
Last christmas was 12/24/2002

Exemple #2 mb_ereg_replace_callback() utilisant les fonctions anonymes

<?php
// this text was used in 2002
// we want to get this up to date for 2003
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";

echo
mb_ereg_replace_callback(
"(\d{2}/\d{2}/)(\d{4})",
function (
$matches) {
return
$matches[1].($matches[2]+1);
},
$text);
?>

Notes

Note:

L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top