Aller au contenu

[RESOLU] [PHP] preg_replace

Featured Replies

Posté(e)

Hello,

Alors voici une jolie ligne de code en php :

$strHtmlContent = preg_replace('/href="(.*)"/', 'href="?\1"', $strHtmlContent);

Comme vous pouvez le constater elle ajoute un point d'interrogation juste aprés le href=" dés qu'elle en trouve un... :francais:

Seulement je ne veux pas quelle le fasse si le href=" est suivi de opera:

C'est spécifique comme truc je sais, mais c'est pour faire des liens spécifiques a Opera. :craint:

Car actuellement le résultat est :

<a href="?opera:/button/Enable%20menu%20bar%20|%2.....

et je voudrais que ca donne :

<a href="opera:/button/Enable%20menu%20bar%20|%2.....

Pas la peine de me dire de la virer, si elle est là c'est quelle sers a quelque chose, et j'ai déjà essayé de la virer... :-D

Pourriez-vous m'aider dans ma guerre contre de script ? :love:

Posté(e)
  • Auteur

Bon ben j'ai trouvé l'astuce... :francais:

Juste aprés la ligne qui ajoutait de point d'interrogation, j'ai ajouté cette ligne :

$strHtmlContent = preg_replace('/href="\?(opera:.*)"/', 'href="\1"', $strHtmlContent);

Ca me vire le point d'interrogation, si c'est suivi d'opera:

Je l'ai eu ! :-D

Posté(e)

C'est un peu moche comme bricolage ^^

je suis sur que ca doit être possible à faire en une seule opération.. peut être avec le caractére ^, qui sert à négationner une classe.. enfin bon je suis sur que certains sur le forum s'y connaissent mieux que moi. :)

Posté(e)
  • Auteur

Oui il y a certainement une syntaxe pour tout faire en une seule opération, mais bon, je ne m'y connais pas assez... :pleure:

Bon ca fonctionne comme ca, c'est déjà bien... ;)

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.