Expression régulière

sloye -  
 sloye -
Bonjour,

J'ai le code suivant qui ne fonctionne pas, avez vous une idée pour le mot évènement qui peut aussi s'écrire événement

<?php
$var = 'un évènement';
if (preg_match('#év[èàùé]nement#', $var))
{
echo 'Vrai' . ' ' . $var;
}
else
{
echo 'Faux';
}
?>

d'avance merci

3 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Déjà,
    A l'avenir, merci d'utiliser les balises de code
    Explications à lire ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    Ensuite, au plus simple
    $str = "un événement";
    $pattern = "/évènement|événement/i";
    echo preg_match($pattern, $str);
    

    0
  2. sloye
     
    merci pour la réponse mais par exemple si j'utilise zéro ça ne marche pas
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Expression reguliere</title>
           <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       </head>
       <body>
     <?php
       $var = 'un zéro';
       if (preg_match('#z[éè]ro#', $var))
       {
        echo 'Vrai' . ' ' . $var;
       }
       else
       {
        echo 'Faux';
       }
      ?>
       </body>
    </html>
    


    d'avance merci
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Déjà... zèro .. ça n'existe pas...
      Donc c'est forcément zéro

      Ensuite... en quoi as tu tenu compte de ma réponse pour ce "nouvel" exemple ??
      Visiblement tu as continué dans ta lancée initiale... sans même avoir regardé ma réponse.
      0
  3. sloye
     
    Bonsoir,
    merci Jordan45 pour ton temps
    si j'ai bien lu ta réponse mais mon idée de départ c'était dans le cas où l'utilisateur fait une faute d'orthographe

    entre temps, j'ai trouvé une solution qui me convient

    preg_match('#z.[eéè]ro#', $var)

    Merci encore et bon week-end
    0