Je débute en Regex et j'ai un petit soucis pour afficher ma regex. Je fais un test pour trouver un mot dans une liste, je récupère le mot dans un formulaire. L'utilisateur tape sa recherche et j'affiche le fichier. Bien sur le code ci dessus est en phase de test.
Je pose un peu le contexte si ça peut aider à comprendre : j'ai une barre de recherche dans laquelle les utilisateurs vont taper le fichier qu'ils cherchent (logique). Je veux que, par exemple si l'utilisateur tape code, tous les fichiers contenant le mot code ou étant composé du mot code (comme codEx) apparaissent. J'ai donc utilisé une expression régulière pour pouvoir faire ma comparaison entre le mot taper dans la barre de recherche et les fichiers qui existent dans mon tableau.
if (isset($_POST['fichier'])) { foreach ($motliste as $listefichier) {echo 'mot:'.$listefichier.'<br/>"#^[a-z0-9._-]+'.$_POST['fichier'].'[a-z0-9._-]+\.[a-z]{2,4}$#i"<br/>'; if(preg_grep("#^[a-z0-9._-]+/s".$_POST['fichier']."/s[a-z0-9._-]+\.[a-z]{2,4}$#i", $listefichier)) { echo 'le fichier '.$_POST['fichier'].' est contenu dans le liste<br/>'; } else { echo 'le fichier '.$_POST['fichier'].' n\est pas contenu dans la liste<br/>'; } } } ?>
Marsh Posté le 18-03-2011 à 10:42:10
Bonjour,
Je débute en Regex et j'ai un petit soucis pour afficher ma regex. Je fais un test pour trouver un mot dans une liste, je récupère le mot dans un formulaire. L'utilisateur tape sa recherche et j'affiche le fichier. Bien sur le code ci dessus est en phase de test.
Je pose un peu le contexte si ça peut aider à comprendre : j'ai une barre de recherche dans laquelle les utilisateurs vont taper le fichier qu'ils cherchent (logique). Je veux que, par exemple si l'utilisateur tape code, tous les fichiers contenant le mot code ou étant composé du mot code (comme codEx) apparaissent. J'ai donc utilisé une expression régulière pour pouvoir faire ma comparaison entre le mot taper dans la barre de recherche et les fichiers qui existent dans mon tableau.
Code php:
<?php>
$motliste= array("codEx.txt", "referant 120.pdf" );
if (isset($_POST['fichier']))
{
foreach ($motliste as $listefichier)
{echo 'mot:'.$listefichier.'<br/>"#^[a-z0-9._-]+'.$_POST['fichier'].'[a-z0-9._-]+\.[a-z]{2,4}$#i"<br/>';
if(preg_grep("#^[a-z0-9._-]+/s".$_POST['fichier']."/s[a-z0-9._-]+\.[a-z]{2,4}$#i", $listefichier))
{
echo 'le fichier '.$_POST['fichier'].' est contenu dans le liste<br/>';
}
else
{
echo 'le fichier '.$_POST['fichier'].' n\est pas contenu dans la liste<br/>';
}
}
}
?>