par
Ripat » 04 sept. 2005, 12:11
Non, ça met la première lettre de tout mot de plus de deux lettres en majuscule. Je ne vois pas trop où est l'intérêt mais, juste pour l'exercice:
\w un seul caractère (alphanum + accentués) suivi par...
\w\w+ un caractère directement suivit par un groupe de un ou plusieurs caractères
Equivalent au motif
\w{3,} tout mot d'au moins 3 caractères.
A nouveau, il vaut mieux utiliser
preg_replace_callback plutôt que
preg_replace pour des raisons de rapidité.
function myUcfirst($capture){
return ucfirst($capture[0]);
}
echo preg_replace_callback("#\w{3,}#","myUcfirst",$chaine);
Non, ça met la première lettre de tout mot de plus de deux lettres en majuscule. Je ne vois pas trop où est l'intérêt mais, juste pour l'exercice:
[color=blue]\w[/color] un seul caractère (alphanum + accentués) suivi par...
[color=blue]\w\w+[/color] un caractère directement suivit par un groupe de un ou plusieurs caractères
Equivalent au motif [color=blue]\w{3,}[/color] tout mot d'au moins 3 caractères.
A nouveau, il vaut mieux utiliser [color=blue]preg_replace_callback[/color] plutôt que [color=blue]preg_replace[/color] pour des raisons de rapidité.
[php]function myUcfirst($capture){
return ucfirst($capture[0]);
}
echo preg_replace_callback("#\w{3,}#","myUcfirst",$chaine);[/php]