Bonjour,

Je souhaiterais savoir, en terme de performance que vaut-il mieux faire pour un grand nombre d'appel au premier ou deuxième cas : (simple exemple, ne pas tenir compte des balises, etc..)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
    $texte = preg_replace_callback('`\[1\].+\[/1\]`iU', array($this,'test'), $texte);
    $texte = preg_replace_callback('`\[2\].+\[/2\]`iU', array($this,'test'), $texte);
    $texte = preg_replace_callback('`\[3\].+\[/3\]`iU', array($this,'test'), $texte);
    $texte = preg_replace_callback('`\[4\].+\[/4\]`iU', array($this,'test'), $texte);
    $texte = preg_replace_callback('`\[5\].+\[/5\]`iU', array($this,'test'), $texte);
    $texte = preg_replace_callback('`\[6\].+\[/6\]`iU', array($this,'test'), $texte);
OU

Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //$texte = preg_replace_callback('`\[(1|2|3|4|5|6)\].+\[/(1|2|3|4|5|6)\]`', array($this,'test'), $texte);
Avec dans la fonction test la gestion de si la valeur 1 et bien égale à la valeur 2.

N'est pas la seconde qui est le plus long finalement, même si l'on ne fait appel qu'à un seul preg_replace_callback(), du fait qu'il doit comparer 1 devant pour 1|2|3|... dernière et ainsi de suite ?

Merci de votre aide et avis.