Autor Zpráva
Luska
Profil *
Používám tento dotaz pro vyhledávání
$dotaz = "SELECT *
    FROM hledani
    WHERE MATCH(nadpis, clanek) AGAINST ('$search' IN BOOLEAN MODE)
    ORDER BY 5 * MATCH(nadpis) AGAINST ('$search') + MATCH(clanek) AGAINST ('$search') DESC
";


A takto vypisuju články kde se vyskytuje ono slovo
while ($row = mysqli_fetch_assoc($result)) {
    echo $row['nadpis'];
    echo $row['clanek'];
}


Jak ale udělat aby to nalezené slovo bylo v článku tučně?
Nox
Profil
Regulárním výrazem přepiš v textu článku "slovo" na "<b>slovo</b>"
Luska
Profil *
Nox:
Použil jsem toto
$text = str_replace($slovo, "<strong>$slovo</strong>", $text);

ale dotaz výše mi vyhledává i slova bez diakritiky a nebere v potaz jejich velikost. Pokud chci vyhledat slovo "černý" a napíšu "cerny" tak se správně najde, ale už nebude tučně, protože regularní výraz hledá slovo "cerny"...

$search = "cerny";
$dotaz = "SELECT *
    FROM hledani
    WHERE MATCH(nadpis, clanek) AGAINST ('$search' IN BOOLEAN MODE)
    ORDER BY 5 * MATCH(nadpis) AGAINST ('$search') + MATCH(clanek) AGAINST ('$search') DESC
";
while ($row = mysqli_fetch_assoc($result)) {
    $row['nadpis'] = str_replace($search, "<strong>$search</strong>", $row['nadpis']);
    echo $row['nadpis'];
    echo $row['clanek'];
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: