Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Zvyrazneni hledaneho textu

Milan Horník
verified
rating uzivatele
(8 hodnocení)
10. 7. 2016 17:34:15
zdravim,
potrebuju zvyraznit (zmena stylu) hledany retezec.
Hledanych frazi muze byt vice, tj ne jen jedno slovo.
Nedari se mne vymyslet aby pokud hledam napriklad "zaba" tak aby se pak zvyraznilo zaba tak napriklad i žába. Neresil nekdy nekdo?
10. 7. 2016 17:34:15
https://webtrh.cz/diskuse/zvyrazneni-hledaneho-textu/#reply1209342
ALENA888
verified
rating uzivatele
(14 hodnocení)
10. 7. 2016 18:10:27
Google
10. 7. 2016 18:10:27
https://webtrh.cz/diskuse/zvyrazneni-hledaneho-textu/#reply1209341
Treba takhle ...
$text = 'sedi zabak na prameni';
$slovo = 'zaba';
echo str_replace( $slovo, ''. $slovo .'', $text );
a melo by to dopadnout takto: sedi zabak na prameni
pokud je napr class .highlight: font-weight: bold;
Pokud potrebujes pracovat s vice slovy, pouzij pole
$slovo = array('zaba', 'pramen');
10. 7. 2016 18:11:27
https://webtrh.cz/diskuse/zvyrazneni-hledaneho-textu/#reply1209340
Milan Horník
verified
rating uzivatele
(8 hodnocení)
10. 7. 2016 20:17:47
uzivatel zada slovo "zaba" ale ja potrebuju highlight jak na slove zaba tak i například na žába, zabá, zábá
Dotaz na sql mam v s porovnanim utf8-general-ci a to stejne co mne vrati sql potrebuji i zvyraznit.
10. 7. 2016 20:17:47
https://webtrh.cz/diskuse/zvyrazneni-hledaneho-textu/#reply1209339
Hmm... tak to budes zrejme potrebovat vsechny mozne variace slov s diakritikou v hledanem slove. áéíóúůžščřďťňě ---> Good luck!
11. 7. 2016 16:22:30
https://webtrh.cz/diskuse/zvyrazneni-hledaneho-textu/#reply1209338
hm
verified
rating uzivatele
(20 hodnocení)
11. 7. 2016 16:26:22
psal jsem na neco podobneho algoritmus a nakonec sme to delal tak ze sem text rozdelil na slova, slovo od slova sem "oddiakritikoval" a provnal s hledanym retezcem a kdyz sedelo tak sem zvyraznil (ale samozrejme s diakritikou, oddiaktikovany to bylo jen v te podmince)... neni to moc slozity, da se to delat i bez explodovani postupnym prochazenim retezce... Nevim jestli existuje neco jeste jendodussiho, ale slozity to co rikam fakt neni, neni neco nativne v php co podporuje i diakritiku?
11. 7. 2016 16:26:22
https://webtrh.cz/diskuse/zvyrazneni-hledaneho-textu/#reply1209337
Milan Horník
verified
rating uzivatele
(8 hodnocení)
11. 7. 2016 16:31:12
Todle je i moje idea, nic lepsiho mne nenapadlo, uplne nejvice by se mne libilo pokud by to napriklad slo udelat na databazove strane.
Texty jsou pomerne kratke, takze myslim ze to rychlostne nebude problem.
Napsal Aleš Jiříček;1307949
psal jsem na neco podobneho algoritmus a nakonec sme to delal tak ze sem text rozdelil na slova, slovo od slova sem "oddiakritikoval" a provnal s hledanym retezcem a kdyz sedelo tak sem zvyraznil (ale samozrejme s diakritikou, oddiaktikovany to bylo jen v te podmince)... neni to moc slozity, da se to delat i bez explodovani postupnym prochazenim retezce... Nevim jestli existuje neco jeste jendodussiho, ale slozity to co rikam fakt neni, neni neco nativne v php co podporuje i diakritiku?
11. 7. 2016 16:31:12
https://webtrh.cz/diskuse/zvyrazneni-hledaneho-textu/#reply1209336
hm
verified
rating uzivatele
(20 hodnocení)
11. 7. 2016 17:07:06
//code deleted - better below
ber to jen jako nastrel, nemel sem moc cas promyslet ten algoritmus do hloubky, takze kdyby nekdo prisel s necim mnohem vyjkonejsim, nedivil bych se :)
---------- Příspěvek doplněn 11.07.2016 v 17:34 ----------
tohle je desetkrat rychlejsi verze, ten prvni nastrel byl zbytecne slozitej
function highlight($needle, $haystack, $startTag = '', $endTag = '') {
mb_internal_encoding('UTF-8');
$origNeedle = $needle;
$needle = iconv('UTF-8', 'ASCII//TRANSLIT', $needle);
$needleLength = mb_strlen($needle);
$needleReplacement = '';
for($x = 0;$x<$needleLength;$x++) $needleReplacement .= ' ';
$asciiHaystack = iconv('UTF-8', 'ASCII//TRANSLIT', $haystack);
$startTagLength = mb_strlen($startTag);
$endTagLength = mb_strlen($endTag);
$add = 0;
while( ($pos = mb_strpos($asciiHaystack, $needle)) !== false ){
$asciiHaystack = mb_substr($asciiHaystack, 0, $pos) . $needleReplacement . mb_substr($asciiHaystack, $pos + $needleLength);
$haystack = mb_substr($haystack, 0, $pos+$add) . $startTag . $origNeedle . $endTag . mb_substr($haystack, $pos+$add+$needleLength);
$add += $startTagLength + $endTagLength;
}
return $haystack;
}
11. 7. 2016 17:07:06
https://webtrh.cz/diskuse/zvyrazneni-hledaneho-textu/#reply1209335
Milan Horník
verified
rating uzivatele
(8 hodnocení)
11. 7. 2016 19:47:41
Koukal sem na toa,e ta konverze pres ASCII//TRANSLIT nechava moc otazniku namisto nahrady
trosku jsem to upravil (Aby kdyz hledany retezec je velkyma pismenama pak nezapricinilo ze i ve vysledku dojde k nahrade za velke pismena)
+ pouzil sem tuhle knihovnu https://github.com/LukeMadhanga/transliterator/blob/master/cTransliterator.php
function highlight($needle, $haystack, $startTag = '', $endTag = '') {
mb_internal_encoding('UTF-8');
$origNeedle = $needle;
//$needle = iconv('UTF-8', 'ASCII//TRANSLIT', $needle);
$needle = cTransliterator::convert(mb_strtolower($needle,'utf-8'));
$needleLength = mb_strlen($needle);
$needleReplacement = '';
for($x = 0;$x<$needleLength;$x++) $needleReplacement .= ' ';
$asciiHaystack = cTransliterator::convert(mb_strtolower($haystack));
//$asciiHaystack = iconv('UTF-8', 'ASCII//TRANSLIT', $haystack);
$startTagLength = mb_strlen($startTag);
$endTagLength = mb_strlen($endTag);
$add = 0;
while( ($pos = mb_strpos($asciiHaystack, $needle)) !== false ){
$asciiHaystack = mb_substr($asciiHaystack, 0, $pos) . $needleReplacement . mb_substr($asciiHaystack, $pos + $needleLength);
//$haystack = mb_substr($haystack, 0, $pos+$add) . $startTag . $origNeedle . $endTag . mb_substr($haystack, $pos+$add+$needleLength);
$haystack = mb_substr($haystack, 0, $pos+$add) . $startTag . mb_substr($haystack,$pos+$add,$needleLength). $endTag . mb_substr($haystack, $pos+$add+$needleLength);
$add += $startTagLength + $endTagLength;
}
return $haystack;
}
Napsal Aleš Jiříček;1307962
//code deleted - better below
ber to jen jako nastrel, nemel sem moc cas promyslet ten algoritmus do hloubky, takze kdyby nekdo prisel s necim mnohem vyjkonejsim, nedivil bych se :)
---------- Příspěvek doplněn 11.07.2016 v 17:34 ----------
tohle je desetkrat rychlejsi verze, ten prvni nastrel byl zbytecne slozitej
function highlight($needle, $haystack, $startTag = '', $endTag = '') {
mb_internal_encoding('UTF-8');
$origNeedle = $needle;
$needle = iconv('UTF-8', 'ASCII//TRANSLIT', $needle);
$needleLength = mb_strlen($needle);
$needleReplacement = '';
for($x = 0;$x<$needleLength;$x++) $needleReplacement .= ' ';
$asciiHaystack = iconv('UTF-8', 'ASCII//TRANSLIT', $haystack);
$startTagLength = mb_strlen($startTag);
$endTagLength = mb_strlen($endTag);
$add = 0;
while( ($pos = mb_strpos($asciiHaystack, $needle)) !== false ){
$asciiHaystack = mb_substr($asciiHaystack, 0, $pos) . $needleReplacement . mb_substr($asciiHaystack, $pos + $needleLength);
$haystack = mb_substr($haystack, 0, $pos+$add) . $startTag . $origNeedle . $endTag . mb_substr($haystack, $pos+$add+$needleLength);
$add += $startTagLength + $endTagLength;
}
return $haystack;
}
11. 7. 2016 19:47:41
https://webtrh.cz/diskuse/zvyrazneni-hledaneho-textu/#reply1209334
hm
verified
rating uzivatele
(20 hodnocení)
11. 7. 2016 20:02:27
★░░░░░░░░░░░████░░░░░░░░░░░░░░░░░░░░★ ★░░░░░░░░░███░██░░░░░░░░░░░░░░░░░░░░★ ★░░░░░░░░░██░░░█░░░░░░░░░░░░░░░░░░░░★ ★░░░░░░░░░██░░░██░░░░░░░░░░░░░░░░░░░★ ★░░░░░░░░░░██░░░███░░░░░░░░░░░░░░░░░★ ★░░░░░░░░░░░██░░░░██░░░░░░░░░░░░░░░░★ ★░░░░░░░░░░░██░░░░░███░░░░░░░░░░░░░░★ ★░░░░░░░░░░░░██░░░░░░██░░░░░░░░░░░░░★ ★░░░░░░░███████░░░░░░░██░░░░░░░░░░░░★ ★░░░░█████░░░░░░░░░░░░░░███░██░░░░░░★ ★░░░██░░░░░████░░░░░░░░░░██████░░░░░★ ★░░░██░░████░░███░░░░░░░░░░░░░██░░░░★ ★░░░██░░░░░░░░███░░░░░░░░░░░░░██░░░░★ ★░░░░██████████░███░░░░░░░░░░░██░░░░★ ★░░░░██░░░░░░░░████░░░░░░░░░░░██░░░░★ ★░░░░███████████░░██░░░░░░░░░░██░░░░★ ★░░░░░░██░░░░░░░████░░░░░██████░░░░░★ ★░░░░░░██████████░██░░░░███░██░░░░░░★ ★░░░░░░░░░██░░░░░████░███░░░░░░░░░░░★ ★░░░░░░░░░█████████████░░░░░░░░░░░░░★ ★░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░★
.........
11. 7. 2016 20:02:27
https://webtrh.cz/diskuse/zvyrazneni-hledaneho-textu/#reply1209333
hm
verified
rating uzivatele
(20 hodnocení)
11. 7. 2016 20:19:19
super, takhle se mi to libi :)) zadnej script kiddie
11. 7. 2016 20:19:19
https://webtrh.cz/diskuse/zvyrazneni-hledaneho-textu/#reply1209332
Pro odpověď se přihlašte.
Přihlásit