Optimisez ses regex ?

  • Auteur de la discussion Auteur de la discussion vin-moi
  • Date de début Date de début
WRInaute occasionnel
Salut à tous !

Voilà, je ne suis pas fervent connaisseur en regex et je m'interesse à l'optimisation de celle-ci.

Voilà le genre de regex que j'ai :

Code:
$string = preg_replace("#(?:<br />\n[\t]*)*\[t\](?:<br />\n[\t]*)*(.*?)(?:<br />\n[\t]*)*\[/t\](?:<br />\n[\t]*)*#is", "\n<h3>\\1</h3>\n", $string);

Explication : J'utilise ca dans un texte contenant des balises [t] et [\t] (= titre). Ce que je cherche à faire est donc de les remplacer par du code html. De plus, il ne doit pas y avoir de retour à la ligne ni tabulation autour des balises d'ou les (?:<br />\n[\t]*) autour de ces balises.

Je voudrais savoir ce que vous en pensez, et ce que vous me conseillerez eventuellement de modifier afin d'optimiser la vitesse d'execution ?

merci d'avance !
 
WRInaute discret
Ca suffit pas un truc comme ça
$texte = preg_replace("#\[b\](.*?)\[/b\]#si", "<span style=\"font-weight: bold\">\\1</span>", $texte);

en replacant par tes balises et le code html.
?
Désolé j'avais pas vu le problème des retours chariot.
 
WRInaute occasionnel
Salut,

Alors pour ce qui est des retour à la ligne, j'ai réussi à diviser par 10 le temps d'execution de la fonction (il y a d'autres lignes de regex) en traitant les retour à la ligne dans une regex toute seule au lieux de le faire à chaque fois que je traite une balise !

c'est dejà ca de gagné !
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut