3 Stimmen

Das Hervorheben von Suchergebnissen in php/MySQL

Wie kann ich Suchergebnisse aus einer MySQL-Abfrage mit PHP hervorheben?

Dies ist mein [bearbeiteter] Code:

$search_result = "";

$search_result = $_GET["q"];

$result = mysql_query('SELECT cQuotes, vAuthor, cArabic, vReference FROM thquotes WHERE cQuotes LIKE "%' . $search_result .'%" ORDER BY idQuotes DESC', $conn)
  or die ('Fehler: '.mysql_error());

function h($s) {
    echo htmlspecialchars($s, ENT_QUOTES);
} 

?>

    Suchergebnisse

".$search_result."", $row['cQuotes']); ?>

2voto

Nate Zaugg Punkte 4132

Sie können dies tun, indem Sie eine JavaScript-Bibliothek namens HiLite verwenden. Es funktioniert ziemlich gut.

2voto

Christophe Punkte 4712

Sie könnten preg_replace(); verwenden, wenn es eine Übereinstimmung in Ihrem Text findet, könnten Sie ein div mit einer Klasse von highlight um das übereinstimmende Wort platzieren. Sie würden dann eine Hintergrundfarbe und einen Rand zur highlight-Klasse hinzufügen, um es hervorzuheben

preg_replace erwartet 3 Parameter;

  1. der erste ist, wonach gesucht werden soll
  2. der zweite ist, durch was es ersetzt werden soll
  3. Der Textstring, den er durchsuchen und ersetzen soll

also zum Beispiel

    ".$search_result."", h($row['cArabic'])); ?>

    Suchergebnisse

Ich habe es nur für Arabisch gemacht, aber Sie müssen das möglicherweise auch für cQuotes, vAuthor und vReference tun.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X