| 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: 17 let
|
|||
0