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 20/01/2012, 12h07   #1
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Par défaut preg_replace mauvais resultat

Bonjour,

J'essaye de remplacer tous les caractères ? par ' , mais cela me supprime les lettres entourant le ?

Code :
1
2
3
4
5
6
 
<?php
$text = "open d?Australie";
$textnew = preg_replace('/[a-zA-Z](\?)[a-zA-Z]/i','\'',$text);
echo $textnew;
?>
Cela me renvoie :
[CODE]
open 'ustralie
[CODE]

Alors que je voudrai :
open d'Australie

Pouvez-vous m'aider svp ?
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 12h17   #2
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Bonjour,

utilise plutôt str_replace() qui est plus rapide est plus simple à utiliser :

Code :
1
2
3
4
<?php
$str = "Open d?Australie";
echo str_replace("?","'",$str);
?>
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 12h42   #3
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Citation:
Envoyé par ska_root Voir le message
Bonjour,

utilise plutôt str_replace() qui est plus rapide est plus simple à utiliser :

Code :
1
2
3
4
<?php
$str = "Open d?Australie";
echo str_replace("?","'",$str);
?>
J'ai oublié de préciser une chose, les ? à remplacés sont toujours entourés de lettres

Exemple:
Chaîne de caractère ou je remplace le ? :
Open d?Australie

Chaîne de caractère où je ne remplace pas le ?
Où est toto ?
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 13h54   #4
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Code :
1
2
3
4
5
<?php
$pattern = '#(\w+)(\?)(\w+)#i';
$str = "L?open d?Australie se joue en Février ?, non je ne pense pas";
echo preg_replace($pattern, "$1'$3", $str);
?>
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 18h34   #5
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Citation:
Envoyé par ska_root Voir le message
Code :
1
2
3
4
5
<?php
$pattern = '#(\w+)(\?)(\w+)#i';
$str = "L?open d?Australie se joue en Février ?, non je ne pense pas";
echo preg_replace($pattern, "$1'$3", $str);
?>
cela fonctionne, merci beaucoup
omelhor 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 02h54.


 
 
 
 
Partenaires

Hébergement Web