Rechercher : dans
Par :

[php] regex PCRE avec une apostrophe

Dernière réponse le 9 jun 2007 à 04:44:17 sanjuan, le 7 jun 2007 à 03:16:20 
 Signaler ce message aux modérateurs

Je n'arrive pas a faire accepter une apostrophe
si la regex est inclue entre deux guillemet simples et que j'echappe l'apostrophe, ça marche pas.
si la regex est inclu entre deux guillemets doubles, sans échapper l'apostrophe, il y a un message d'erreur à cause des guillemets doubles.
la regex est defini à l'interieur d'une classe, si elle ne l'est pas, je n'ai pas de problémes avec les guillemets doubles.
merci d'avance pour vos lumiéres

Configuration: Linux Suse
Firefox 2.0.0.2

Meilleures réponses pour « [php] regex PCRE avec une apostrophe » dans :
Les guillemets, apostrophes et les chaînes VoirComment jouer avec les guillemets et les apostrophes dans les chaînes 1. Préambule 2. Éviter une coupure dans la chaîne 3. Ajouter un guillemet dans la chaîne 3.1 Avec l'apostrophe 3.2 Avec l'ASCII 3.3 Directement 3.3.1 Méthode...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des fonctions Débuggeur...
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...

1

lapin tordu, le 7 jun 2007 à 10:16:50

Bizarre.

Faudrait voir l'expression régulière.

Répondre à lapin tordu

2

sanjuan, le 8 jun 2007 à 06:38:05

Bonjour et merci pour la réponse
voici:

'/^[ a-zA-Zéèêôâîûäüöëï]+([ \'-]?[ a-zA-Zéèêôâîûäüöëï]+){0,2}$/i';

mais on peut utiliser une forme plus simple comme exemple, celle-ci , le probléme est le même
'/^[ a-zA-Zéèêôâîûäüöëï\'-]+$/i';

si elle est defini comme ça à l'intérieur d'une classe ça marche pour par exemple "d'artagnan"
par contre si "d'artagnan" est dans un $_POST ça ne marche pas, magic_quotes_gpc, etant à ON dans le php.ini, j'ai éssayé stripslashes() sur le $_POST avant de le comparer au modéle, mais ça ne marche pas non plu.

d'autres part si le modéle est défini dans une simple fonction (pas dans une classe), je n'echappe pas l'apostrophe et je n'ai pas de message d'erreur pour les guillemets ouvrant/fermant. et ça marche
function valid($nom)
	{if( !preg_match("/^[ a-zA-Zéèêôâîûäüöëï]+(['-]?[ a-zA-Zéèêôâîûäüöëï]+){0,2}$/i", $adress) ){
		
		return false;}		
	return true;
		}	
		
echo valid("D'artagnan");


je n'ai pas éssayé la simple fonction aprés un post.

Répondre à sanjuan

3

 sanjuan, le 9 jun 2007 à 04:44:17

Il y avait une erreur dans le message, le nom de l'argument n'etait pas le même entre le () et les {}
c'est

function valid($nom)
	{if( !preg_match("/^[ a-zA-Zéèêôâîûäüöëï]+(['-]?[ a-zA-Zéèêôâîûäüöëï]+){0,2}$/i", $nom) ){
		
		return false;}		
	return true;
		}	
		
echo valid("D'artagnan");


d'autres part j'ai essayé le post avec magic_quotes_gpc=off; ça ne change rien.

Répondre à sanjuan
Collection CommentÇaMarche.net