Problème de casse recherche PHP
marseillais
-
Profil bloqué -
Profil bloqué -
Bonsoir,
j'ai un moteur de recherche php sur mon site mais voila si je recherche abc et que le fichier est aBc, cela ne fonctionnera pas.
mon code est:
Quelqu'un aurait-il une solution a mon problème?
merci d'avance
j'ai un moteur de recherche php sur mon site mais voila si je recherche abc et que le fichier est aBc, cela ne fonctionnera pas.
mon code est:
<?php
$d = dir("./uploads");
if(isset($_POST['submit']) AND !empty($_POST['mot'])){
$mot = trim($_POST['mot']);
while($entry = $d->read()) { preg_match("#($mot+?)#s", $entry, $new);
$data = trim($new[1]);
if (!empty($data)) echo '<a href="download.php?objet='.$entry.'">'.$entry.'</a><br />';
} $d->close();
}
?>
Quelqu'un aurait-il une solution a mon problème?
merci d'avance
5 réponses
-
-
et en passant par SQL, cela ne détournerait pas le problème ?
Nico -
Je pense que ton probleme vient de ton expression régulière preg_match("#($mot+?)#s", $entry, $new);
#($mot+?)#s : le modificateur s permet de contenir les sauts de ligne, je te conseille plutôt de le remplacer par i -> #($mot+?)#i qui permet de ne pas tenir compte de la casse.
Toine -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Attention avec strtolower si tu es en UTF8 les accents ne seront pas pris en compte !
-
<?php
function strtolower_utf8($string){
$convert_to = array(
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u",
"v", "w", "x", "y", "z", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï",
"ð", "ñ", "ò", "ó", "ô", "õ", "ö", "ø", "ù", "ú", "û", "ü", "ý", "?", "?", "?", "?", "?", "?", "?", "?",
"?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?",
"?", "?", "?", "?"
);
$convert_from = array(
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U",
"V", "W", "X", "Y", "Z", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï",
"Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "?", "?", "?", "?", "?", "?", "?", "?",
"?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", "?",
"?", "?", "?", "?"
);
return str_replace($convert_from, $convert_to, $string);
}
?>
-