5139 sujets

Le Bar du forum

Bonjour,

Je suis débutante. Je souhaite créer un moteur de recherche sans base de données. Je travaille sur un site statique.

Le principe. J'ai des pages statiques en Html, et j'ai une page de recherche. Dans cette page, je tape le mot que je recherche sur le site, et il va chercher dans les différentes pages et affiche le résultat.

J'ai réussi à faire la recherche, et afficher le résultat, mon problème est qu'il ne cherche pas les mots avec des accents.

Voilà ce que j'ai fait :

<html lang="fr">

<head>

<meta charset="ISO-8859-1">

<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->

<meta name="description" content="">

<meta name="author" content="">

<link rel="icon" href="/favicon.ico">



<title>Portail des Mini-sites</title>



<!-- Bootstrap core CSS -->

<link href="css/bootstrap.min.css" rel="stylesheet">



<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->

<link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet">



<!-- Custom styles for this template -->

<link href="css/navbar.css" rel="stylesheet">

<link href="css/style.css" rel="stylesheet">



<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->

<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->

<script src="js/ie-emulation-modes-warning.js"></script>



<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->

<!--[if lt IE 9]>

<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>

<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>



<![endif]-->

</head>



<body>



<form method="POST" class="form-inline">

Mot recherché : <input type="text" class="form-control" name="mot" value="" />

<button type="submit" class="btn btn-default" value="valider"/>Rechercher</button>

</form>



<?php

setlocale(LC_CTYPE, 'fr_FR','fra');

$nb_fichier = 0;

$nb = 0;

$resultats = array();

echo '<ul>';





if($dossier = opendir('./'))

{

while(false !== ($fichier = readdir($dossier)))

{

if($fichier != '.' && $fichier != '..' && $fichier != 'rechercher.php')

{

$lines = file($fichier);

$resultats[1] = $fichier;



/*On parcourt le tableau $lines et on affiche le contenu de chaque ligne précédée de son numéro*/

foreach ($lines as $lineContent)

{

// On incrémente le compteur de 1

$nb_fichier++;

if (preg_match('|\b' . preg_quote($_POST['mot']). '\b|i', $lineContent)) {

$resultats[0] = $lineContent;



echo "<li>$resultats[0]</li>";

echo '<li><a href="./' . $resultats[1] . '">' . $resultats[1] . '</a></li>';



$nb++;

}

}





} // On ferme le if (qui permet de ne pas afficher index.php, etc.)



} // On termine la boucle



echo '</ul><br />';

$nombre = substr($nb,0,3);

echo '<strong>Nombre de résultats : </strong>'.$nombre;

closedir($dossier);

}

else

echo 'Le dossier n\' a pas pu être ouvert';



?>

</body>

Smiley bawling
Merci de votre aide,

Cordialement

Sabrina Smiley bawling