Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2952 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP] Expressions régulières

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Expressions régulières

n°107699
djromain
Posté le 05-03-2002 à 08:59:22  profilanswer
 

Salut ! J'ai une petite question aux pros en la matière
 
J'ai ce code ci
 
qui permet de détecter les ouvertures de balise en début de ligne et ajouter document.write(" <xxxxxxxxxxxx> " )
 
<xxxxxxxxxxx> étant par exemple la chaine d'origine
 
$jscache0j=preg_replace("{\n *<(.+?)([\r\n]+?)}i","\ndocument.write(\"<$1\" )",$jscache0j);
 
Ca marche très bien, mais j'aurais aimé en plus que dans $1 il remplace tous les " par des \" . est-ce possible ?
 
merci d'avance :)


---------------
http://www.DJMAXI.FR.ST
mood
Publicité
Posté le 05-03-2002 à 08:59:22  profilanswer
 

n°107738
gizmo
Posté le 05-03-2002 à 10:18:44  profilanswer
 

non, ce n'est pas possible, les regexp php n'acceptent pas de fonction imbriquées.

n°107739
djromain
Posté le 05-03-2002 à 10:27:17  profilanswer
 

Merci quand même !
Je vais ruser alors  :D


---------------
http://www.DJMAXI.FR.ST
n°107743
kayasax
Posté le 05-03-2002 à 10:53:53  profilanswer
 

ca doit etre possible, mais peut etre en faisant 2 fncts replace


---------------
All we need is a soul revolution
n°107758
djromain
Posté le 05-03-2002 à 11:24:53  profilanswer
 

oui j'ai trouvé mais j'ai dû faire un boucle avec un for en extractant chq caractère de la chaine pour voir s'il s'agissait du code de début ou de fin
 
mais bon, je pensais qu'avec les expressions régulières, ce genre de truc était possible... tantpis


---------------
http://www.DJMAXI.FR.ST
n°107763
kayasax
Posté le 05-03-2002 à 11:29:36  profilanswer
 

pourtant j'arrive bien a remplacer des \ par des / donc rajouter \ devant " ca doit etre possible...
 
http://forum.hardware.fr/forum2.ph [...] p=1&trash=


---------------
All we need is a soul revolution
n°107768
FLY LM
Posté le 05-03-2002 à 11:34:13  profilanswer
 

Peut être une soluce : tu entres utilises deux tableaux, un pour les motifs à remplacer, l'autre pour leur correspondance.
 
$pattern = array ('/"/','/{\n *<(.+?)([\r\n]+?)}/i';);
$replace = array ('\"','document.write(\"<$1
\';);
preg_replace($pattern,$replace,$jscache0j);
 
La regex doit commencer par remplacer les " par \" puis elles s'occupe des balises...
A toi d'adapter (corriger) ce bout de script... Je pense que cela devrait marcher.

n°107784
djromain
Posté le 05-03-2002 à 12:08:39  profilanswer
 

merci pour ton script, même si je suis encore assez loin de tout y comprendre, ça fait pas du tout longtemps que je tente de manipuler les expressions régulières :) :crazy:


---------------
http://www.DJMAXI.FR.ST

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP] Expressions régulières

 

Sujets relatifs
[PHP] afficher les données d'un serveur CS sur un site[PHP]syntaxe pour mon expression reguliere
[PHP] Un petit machin tout simpleLDAP/PHP : impossible de modifier et d'ajouter des données
[ PHP ] Des connaisseurs pour améliorer mon premier script ;-)[PHP] fread sur un fichier distant dont je connais pas la taille
[PHP] : Comment réinstaller les rpm de PHP sous Linux ?PHP - besoin d'un pro des expressions regulieres (perl ou php)
[PHP] Expressions régulières, comment ça marche?PHP et Expressions régulières : un pb tout simple.
Plus de sujets relatifs à : [PHP] Expressions régulières


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR