PHP zvýraznění vyhledaného řetězce ve výsledku

PHP zvýraznění vyhledaného řetězce ve výsledku

Ahoj, mám následující PHP konstrukci, která vyhledává v MySQL tabulce řetězec $retezec:

$sql = "SELECT * FROM tabulka WHERE nazev LIKE '%$retezec%' ";
$query = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($query)) {
$id = $row['id'];
$datum = $row['datum'];
$nazev = $row['nazev'];
echo "Nalezené záznamy: $nazev (id: $id - $datum)";
}


A chci, aby se ve výsledku v proměnné $nazev zvýraznil hledaný text $retezec . Tzn. jako to dělá např. firefox při vyhledávání na stránce. Díky za jakékoliv tipy.

ODPOVĚĎ


Ahoj, když výstup uložíš do proměnné $text a hledané slovo do proměnné $retezec, tak můžeš použít tuto zvýrazňovací PHP funkci (není ode mě):


function zvyraznit($text, $retezec) {
preg_match_all('~\w+~', $retezec, $m);
if(!$m)
return $text;
$re = '~\\b(' . implode('|', $m[0]) . ')\\b~';
return preg_replace($re, '$0', $text);
}

print zvyraznit($text, $retezec);

Komentáře

Vaše reakce na PHP zvýraznění vyhledaného řetězce ve výsledku

Související obsah

php

mysql

databaze

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.