Bonjour,
Pour mon site, j’utilise les expressions régulières pour transformer du bbcode en xhtml.
J’ai remarqué que le temps d’exécution était nettement plus rapide sans utiliser ces expressions, donc j’ai quelques questions : (je possède un serveur très peu puissant, donc ce genre de questions est important pour moi)
Est ce qu’il est mieux de mettre du texte déjà transformé en xhtml (par les expressions régulières ) dans la base de donnée ? ou de mettre le texte original dans la bdd et transformer ce texte a l’affichage ?
Ou alors il faut utiliser un système de mise en cache ?
Vous pouvez pas jeter un coup d’il a ma fonction de transformation (Site down) ? et me dire ce qu’il nest pas conseillé, ce qui prend trop de ressources ?
Je dirais qu’un cache c’est mieux. Pose toi la question autrement: si tu stockes la version parsée en xhtml, il faut que tu gardes l’équivalent bbcode en base ou ailleurs, ou que tu ai un moyen de retrouver le bbcode à partir du xhtml.
Ah oui ? tu es sur pour le remplacement par tableau ? j’aurais jurer le contraire…
Sinon dans ton lien, il ne parle pas de remplacement par tableau, mais le reste m’est utile
Si, regarde le point 8 :[quote=""]
L’emploi de tableaux en tant qu’arguments des fonctions de remplacements de chaînes de caractères est plus couteux que l’utilisation multiple de cette même fonction chaîne par chaîne à remplacer.
[/quote]
C’est aussi la methode que j’utilise. Je trouve ça plus clair et plus pratique, apparament c’est également plus rapide.
Tu devrais mettre ton lien dans le topic des adresses utiles, Raynor
Moi, je te conseil de bien optimiser ton code PCRE en utilisant bien les délimiteurs et les options.
De plus, pour une génération plus rapide, fait une boucle, c’est natif
Edit:
Attention, tu laisses une entrée directe sur ta FBX. (Voir ton ip)
Edité le 17/09/2007 à 10:30
Ce que je veux dire, c’est que les regex utilisent beaucoup de ressources quelles soient POSIX ou même PCRE.
Les regex effectuent un calcul sur toutes combinaisons possibles.
Il est donc préférable de boucler en faisant travailler php au natif plutôt que de faire travailler une extension (regex).
Edit :
Correction orthographique
Edité le 17/09/2007 à 11:47
Euh comment ca bis ? :ane: en gros tu dis qu’il vaut mieux utiliser str_replace et autre que les expressions regulieres ? (ca je suis au courant)
Edité le 17/09/2007 à 13:53
ceci dit, un truc car je suis un jeune con : en quoi faire une boucle en php (donc gestion interne de php, etc) est plus lent que de passer à preg_replace deux tableaux? (sachant que le test sur les tableaux est toujours fait).
Ouais je suis pas inspiré pour trouver un nom de domaine
sinon, normalement tout est bien sécurisé chez moi (normallement hein) je vois pas en quoi ça pose problème ?
J’ai fait une serie de test (temps d’execution du script), et apparemment, ma méthode est un tout petit peu plus rapide…
Apres il n’y a sûrement pas que le temps d’exécution qui signifie quelque chose ? l’occupation memoire aussi ?