Bonjour,
Pour le site d'un ami, je voudrais afficher les résultats d'une recherche en affichant le mot recherche en gras et dans son contexte (précédé et suivi de 10 mots par exemple, comme ça se fait beaucoup sur les sites. Et je voudrais que l'utilisateur puisse cliquer sur cette ligne pour être dirigé vers la page qui la contient.
Mes textes sont contenus dans une base de données qui contient des paragraphes. Actuellement, lors d'une recherche sur un mot, le résultat affiche le mot en gras et le paragraphe entier dans lequel il est contenu, plus un lien vers la page qui contient ce paragraphe.
Pour le gras, j'ai réussi avec
echo str_replace($mot, "<strong>$mot</strong>", $para['paragraphe']);
Mais je ne trouve pas pour afficher le mot dans son contexte...
Voici mon code entier:
$requete = "SELECT * FROM textes AS T, pages AS P WHERE P.id=T.idpage AND T.paragraphe LIKE '%$mot%'";
$resultat = mysql_query ($requete, $connexion);
while ($para = mysql_fetch_array ($resultat)) {
echo "<li>";
echo "<a href=\"$para[scriptphp]\">$para[titre]</a>
";
echo str_replace($mot, "<strong>$mot</strong>", $para['paragraphe']);
echo "</li>";
}
echo "</ul>";
Je sais que je dois utiliser une expression réguliere avec la fonction preg match().
Avez deja effectué cette commande, si oui, comment aviez-vous procédé?
Merci de votre aide