Chcę podświetlać znalezione przez wyszukiwarkę komentrzy frazy, będące szukanymi ciągami. Wyszukiwarka oparta jest na indeksie FULLTEXT i wykorzystuje 'BOOLEAN MODE'. Znajduje więc ciągi nie zważając na wielkość liter.
Mam kod:
Mój problem polega na tym, że obecny kod nie podświetla znalezionych wyrazów, lecz je usuwa. Gdy jednak dam do uruchomienia linię oznaczoną *1* zamiast *2*, to podświetlanie działa, ale poza podświetleniem dostaje też zmieniona wielkość liter w podświetleniu na taką, jaka została używa w zapytanie (w $_POST['searchString'). Np.:
for ($ssi=0; $ssi<count($srch); $ssi++) // usuń operatory $rpl = $srch; for ($ssi=0; $ssi<count($srch); $ssi++) { $srch[$ssi] = "#".$srch[$ssi]."#i"; // 'pattern' elementu do podświetlenia // $rpl[$ssi] = '<span class="hl_found">'.$rpl[$ssi]."</span>"; // *1* $rpl[$ssi] = "<span class=\"hl_found\">$1</span>"; // *2* (kod HTML dający efekt podświetlenia) }
- jeśli wyszukuję ciąg Mama i zostanie znaleziony komentarz ($tresc) zawierająca ciąg mama, to podświetlenie zostanie dodane i mama zmieni się na Mama. Tej zmiany wielkości liter nie chcę.
Co proponujecie?