dotaz na principmam vyhledavani v db, kodovani UTF
vyhledavam retezec jak v orig nazvu, tak v ascii nazvu (bo sem ten co nepise furt s diakritikou)
vyhledani neni problem,
zadavam do vyhledavani "kun"
a dastavam zpet dve hodnoty jednoho zaznamu:
orig: "Žluťoučký kůň"
a ascii "Zlutoucky kun"
v originalnum nazvu chci zvyraznit vyhledavany retezec - coz mi ale nejde:
aktualne mam neco takoveho:
if (is_array($kde)) {
$kde_hlavni = $kde[0];
$kde = $kde_ascii = $kde[1];
}
$zacatek = stripos($kde, $co);
if ($zacatek === false) {
// nic
}
else {
//$konec = $zacatek + strlen($co);
if (!empty($kde_hlavni)) {
$kde = $kde_hlavni;
}
$nalezeny_string = substr($kde, $zacatek, strlen($co));
$kde = str_replace($nalezeny_string, '<span class="b">'.$nalezeny_string.'</span>', $kde);
}
return $kde;
coz funguje jen za predpokladu, ze se v originale nevyskytuje pred vyhledavanou hodnotou zadny znak s diakritikou (mozna neplati pro uplne vsechny) - ale pokud tam mam nejaky, je $zacatek spocitan spatne (brzo) a tak se mi oznaci blba cast retezce
muzete me nekdo nakopnout? |