Autor | Zpráva | ||
---|---|---|---|
Luska Profil * |
#1 · Zasláno: 4. 11. 2009, 16:04:42
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 |
#2 · Zasláno: 4. 11. 2009, 16:14:15
Regulárním výrazem přepiš v textu článku "slovo" na "<b>slovo</b>"
|
||
Luska Profil * |
#3 · Zasláno: 4. 11. 2009, 16:52:06
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']; } |
||
Časová prodleva: 14 let
|
0