|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : avril 2005 Messages : 300 ![]() |
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 :
Code :
//$texte = preg_replace_callback('`\[(1|2|3|4|5|6)\].+\[/(1|2|3|4|5|6)\]`', array($this,'test'), $texte);
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. |
||
|
|
00
|
|
|
#2 | |
![]() ![]() |
Salut !
le problème dans ton second exemple est que tu autorise quelque chose de ce style : Citation:
Code :
//$texte = preg_replace_callback('`\[(1|2|3|4|5|6)\].+\[/\\1\]`', array($this,'test'), $texte);
ensuite, je pense qu'il est plus léger (donc plus performant de ne faire qu'un seul appel plutôt que 6 dans ce cas en tous cas...
__________________
Rédacteur "éclectique" (XML, IRC, Web...) Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC) je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque ! pensez à la balise [code] (bouton #) et au tag (en bas)
|
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : avril 2005 Messages : 300 ![]() |
merci de ta réponse.
En fait le truc c'est que dans la fonction qui est appellée dans le calback je test si par exemple $1 est == $5 pour vérifier l'ouverture et la fermeture. A vrai dire je ne savais pas que l'on pouvait utiliser le résultat directement dans la même "requête". En revanche je me suis toujours servit de $1. Quel est la différence avec \\1 ? |
|
|
00
|
|
|
#4 |
![]() ![]() |
en fait, le \\1 (\1 en fait puisque le \\ est transformé en \ après interprétation dans les ' ') est ce qu'on appelle une référence arrière, et ne doit (et ne peut) être utilisé que dans les patterns, pas dans les "masques" de remplacemet
en gros il s'agit surtout du "lieu" d'utilisation qui est différent ^^
__________________
Rédacteur "éclectique" (XML, IRC, Web...) Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC) je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque ! pensez à la balise [code] (bouton #) et au tag (en bas)
|
|
|
00
|
|
|
#5 | ||
|
Membre du Club
![]() Inscription : avril 2005 Messages : 300 ![]() |
Mais pourtant j'ai déjà vu des \\1 dans le résultat. Un exemple de la doc: Code :
En fait il faut utiliser le \\1 dans le preg_replace, etc.. et non pas le $1 parce qu'il peut être utilisé ailleurs ? |
||
|
|
00
|
|
|
#6 |
![]() ![]() |
perso, j'ai toujours utilisé le $ dans preg_replace, et n'ai jamais eu de problèmes avec...
Je ne pensais pas que le \\ soit accepté... à priori, il s'agit surtout de considération personnelles, perso je préfère toujours le $... plus clair par contre je suis sûr que la syntaxe avec le $ ne peut être utilisée dans les recherches à cause de la signification du $ (fin de ligne/chaine) après reflexion, la syntaxe en \\ permet surtout d'éviter l'interprétation du $1 en tant que variable quand il est entre " " principalement un choix perso donc
__________________
Rédacteur "éclectique" (XML, IRC, Web...) Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC) je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque ! pensez à la balise [code] (bouton #) et au tag (en bas)
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : avril 2005 Messages : 300 ![]() |
Très bien, je te remercie de ton aide.
|
|
|
00
|
|
|
#8 |
![]() ![]() |
De rien, content d'avoir pu t'aider
__________________
Rédacteur "éclectique" (XML, IRC, Web...) Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC) je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque ! pensez à la balise [code] (bouton #) et au tag (en bas)
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com