Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2007, 00h34   #1
Membre du Club
 
Inscription : décembre 2003
Messages : 403
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 403
Points : 43
Points : 43
Par défaut Comment utiliser ereg_replace()

Bonjour,

voila je voudrais prendre une chaine dans un text, dont le modele de la chaine est celui-ci :
Code :
NAME="prix1" VALUE="4">
SAUF que le chiffre 4 ici n'est pas fixe mais il peut y avoir entre les deux "" n'importe quel autre chiffre ou nombre (tout le reste doit rester tel quel)...

Et ceci doit etre remplacer par ceci :
Code :
NAME="prix1" VALUE="1000">

Pouvez-vous m'aider à l'aide de la fonction ereg_replace() ?

Merci.
benthebest est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2007, 06h01   #2
Membre régulier
 
Avatar de csbilouze
 
Inscription : janvier 2005
Messages : 79
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 79
Points : 93
Points : 93
Envoyer un message via MSN à csbilouze
salut,

essaie de faire un tour vers les expressions régulières.
tu peux essayer ça.
Code :
1
2
3
4
5
6
7
 
$contenu = "NAME=\"prix1\" VALUE=\"4\">";
//chaîne de remplacement
$replace = "NAME=\"prix1\" VALUE=\"1000\">";
//construction de l expression régulière
$regex = "NAME=\"prix1\" VALUE=\"([0-9]*)\">";
print(ereg_replace($regex,$replace,$contenu));
je n ai pas testé la regex je t ai envoyer ça avant de me couché lol je suis donc un peu dans les choux.

j espère t avoir aidé

++
csbilouze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2007, 00h55   #3
Invité régulier
 
Inscription : novembre 2007
Messages : 10
Détails du profil
Informations personnelles :
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : novembre 2007
Messages : 10
Points : 7
Points : 7
Bonsoir,
ne serait-il pas possible dans ce cas d'utiliser la fonction sscanf() afin d'éviter une regexp ?
Pabavard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 16h05   #4
Invité de passage
 
Inscription : septembre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 4
Points : 2
Points : 2
moi aussi moi aussi j'ai une question pareil même chose.

bon je fais mon site en flash et j'ai installé un script tuto avec une page en php pour mon livre d'or.
il y a 4 champs (name, email, comments, website)
il y a dans le script php des lignes pour supprimer les caractère "spéciaux" mais moi je veux pourvoir tolérer les caractères suivants :
& é " à ç è ' â î ô ä ë ö ï
pour les champs $Name et $Comments

voici le code d'origine :
Code :
1
2
3
4
5
6
 // Replace special characters - you can remove the next 5 lines if wanted.
$Name         = ereg_replace("[^A-Za-z0-9 ]", "", $Name);
$Email         = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $Email);
$Comments    = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $Comments);
$Website     = eregi_replace("http://", "", $Website);
$Website     = ereg_replace("[^A-Za-z0-9 \@\.\-\/\'\~\:]", "", $Website);
le fichier.txt créé par ce script php est relu en html dans mon anim flash.
est-ce que vous pensez que si j'accepte ces caractères je m'expose à quelques bugs ? est-ce qu'il faut que je les remplace par des &eacute &agrave etc ....
bon je suis pas une flêche si vous pouvez m'aider...

ps .. trop fort ce smiley
dgodzillae est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 21h50   #5
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Si c'est pour générer du HTML, le plus simple est de tout encoder avec htmlentities().
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 23h00   #6
Invité de passage
 
Inscription : septembre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 4
Points : 2
Points : 2
salut antoun...

je viens de lire des infos à propos de htmlentities et j'avoue que je ne m'y connais pas assez pour laisser les gens utiliser de l'html et avoir des ennuis. bon je vais me pencher sur la question .. (et j'ouvre un autre post pour une autre question sur le même script)
dgodzillae est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 23h15   #7
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
tu y a compris quelque chose ?

Quoi qu'il en soit, htmlentities est destiné à protéger ton code, en dé-HTMLisant les caractères spéciaux. Du coup, il a pour effet d'interdire à tes utilisateurs d'utiliser du HTML. En effet, s'ils veulent écrire par exemple <b>, ça devient &lt;b&gt;.
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h33.


 
 
 
 
Partenaires

Hébergement Web