begin process at 2012 05 29 01:54:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Expressions régulières


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Expressions régulières

jeudi 14 juin 2007 à 17:25:04 | Expressions régulières

martins13

Salut à tous!!!

Je cherche à faire une expression régulière pour une adresse postale du type :

13, Boulevard Baille

Mais je veux que les caractères accentués soient pris en compte, mon expression fonctionne sauf lorsque je met un de ces caractères "àáâäçèéêëìíîïðòóôõöùúûü"
Voici ma fonction:

preg_match('`^([0-9]{0,3}?[, ]?[ ]?[A-Za-z\'àáâäçèéêëìíîïðòóôõöùúûü -]{3,50})$`', $adresse)

Merci pour votre aide

vendredi 15 juin 2007 à 12:33:57 | Re : Expressions régulières

DiGhan

Salut,
dans ton cas, c'est la classe \w qu'il faut utiliser. Cette classe supporte les accents ainsi que les caractères - et _. Le masque final devient alors :


<?php

$address = '182, rue des àáâäçèéêëìíîïðòóôõöùúûü';
$pattern = '#^\d{1,3}?,?\s*(\w[ ]?){3,50}$#i';   // \s classe des caractères d'espacement
echo preg_match($pattern,$address)?'true':'false';

?>
vendredi 15 juin 2007 à 16:18:56 | Re : Expressions régulières

martins13

Merci les classes je les utilise pas assez, ca simplifie mon expression comme ca mais la classe \w ne marche pas apparement pour les caractères accentués. Je viens de tester...
vendredi 15 juin 2007 à 17:45:49 | Re : Expressions régulières

DiGhan

La chaine analysée (dans l'exemple) est pourtant composée de l'ensemble des accents que tu utilises. C'est l'exemple qui ne marche pas ou ton adaptation de ce code ?
vendredi 15 juin 2007 à 18:06:39 | Re : Expressions régulières

martins13

Alors effectivement j'ai testé ton exemple fonctionne mais voilà mon adaption ne fonctionne pas et ce que cela viendrais du fait que j'utilise htmlentities. Voilà le bout de code :
<?php
if (isset($_POST['textfield2']))
       {
         $adresse = htmlentities($_POST['textfield2']);
         $pattern = '#^\d{1,3}?,?\s*(\w[ ]?){3,50}$#i';
         // incrémenter la variable $nb_faux si les champs du formulaire sont vides
           if (empty($_POST['textfield2']))
           {        
             ?>Champs non rempli</span></td><?
             $nb_faux++;
           }else{  
         // incrémenter la variable $nb_faux si des caracteres ne sont pas autorisés pour l'adresse
        ?><td width="164"><span><?
        if (!preg_match($pattern, $adresse))
        {
         ?>Caractères non autorisés pour l'adresse<?
         $nb_faux++;}}}
?>

Merci
vendredi 15 juin 2007 à 21:13:30 | Re : Expressions régulières

DiGhan

Réponse acceptée !
En effet le problème vient de htmlentities puisque les accents sont encodés avec leurs equivalents &...; . Dans tous les cas, le masque ne match pas les chaines qui contiennent les caractères < > & = " '. Donc l'utilisation de htmlentities n'est plus nécessaire.
lundi 18 juin 2007 à 09:40:37 | Re : Expressions régulières

martins13

Merci pour ton aide!!!


Cette discussion est classée dans : expression, adresse, expressions, caractères, régulières


Répondre à ce message

Sujets en rapport avec ce message

Expressions régulières pour la suppression de balises [ par f6xara ] J'ai fait un module de template transformant tout ce qui se trouve entre {} par la variable équivalente.Si la variable n'est pas trouvées, alors, on s Expressions régulières [ par darkduck ] Salut,J'aimerai virer les - entre chevrons grace à une expression régulière.Je m'explique :-texte>test-test-texte>-joli-texte>y-a-t-il quelqu'un-</b Securite formulaire [ par M000004965 ] Hello à  vous tous,je me creuse actuellement pour eviter de prendre des requetes mal intentionnées dans mon formulaire. j'ai fait une recherche sur le problèmes caractères spéciaux. [ par masseur ] Salut.Dans un de mes scripts je fait ceciecho "$url = $_GET['url']"; sachant que l'url que je passe dans mon navigateur est celle ci;http://news.searc Précision sur les Expressions régulières [ par hvb ] Salut tout le monde,je viens de decouvrir, après tout ce temps, la puissance des expressions régulières PCRE.J'ai encaissé deux ou trois tutos sans gr Expressions Régulières [ par neurosupherot ] Bonjour, il s'agirait de s'ammuser avec les expressions régulières j'ai un petit souci. j'ai fait mon propre bbcode, et tout semble fonctionner, sauf: Expressions régulières.. [ par syndrael ] Bonjour, J'ai un texte dans lequel je retrouve des balises . Je tourne en rond pour écrire un reg_replace qui me les supprime toutes.. alors ke c'est Expressions régulières, exclure le contenu entre certaines balises [ par f6xara ] Bonjour, j'ai fais un system de template pour mon site. Lors de l'affichage je fais un nl2br($texte) pour faire les sauts de lignes. Mais dans ma vari formulation de l'expression regulière [ par khaoula812 ] salut a tous je suis nulle avec les expression regulières je voudrais ecrire ce qu'il y aura à l'interieur de ma variable $motif qui est un parametre Les expressions régulières et les le, la les ... [ par osscour ] Salut, je voudrais supprimer les déterminants issus d'une requette avant de l'éxécuter dans un mini moteur de recherche ex : j'ai cette requête : " l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales