Vyhledavani z DB
11 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Zdravim! Neporadil by mi pls nekdo jak se dela u vyhledavani urcityho slova z databaze dokumentu ten konečnej výpis, kde to hledane slovo je napsane treba tucnym pismem? Dik
-
sice presne nechapu co myslis ale rek bych ze neco jako dela seznam.cz ne?? tak pro zacatek v databazi vyhledavas '%$slovo%' a pro zvyrazneni $slova pouzijes treba eregi_replace("(.*)(".$slovo.")(.*)","\\1<B>\\2</B>\\3",$veta); jesi neco nechapes dotazuj se jeste jednou ja ti poradim
-
jo presme tak sem to myslel. Takze ja si ulozim vypis z DB do promenne a potom $vysledek = mysql_result( blablabla.... a potom si pomoci ty fce eregi_replace vyhledam to slovo a zamenim ho na slovo oramovane tagem <b> jaky sou prosim presny parametry ty fce? kam mam co napsat? eregi_replace("(.*)(".$slovo.")(.*)","\\1\\2\\3",$veta); Dik
-
ne-e: \\!!!<B>!!!\\2!!!</B>!!!\\3 - na <B> tagy nezapominej pak bys to ani nemusel psat .. $veta = "blablaMUJTEXTblabla"; $slovo = "mujtext"; $veta = eregi_replace("(.*)(".$slovo.")(.*)","\\1<B>\\2</B>\\3",$veta); echo $veta; - abych ti trochu vysvetlil ten reg. vyraz, do prvni casti( "(.*)(".$slovo.")(.*)" ) napises co musi text(treti cast - $veta) splnovat aby se zmenil na druhou cast ( "\\1<B>\\2</B>\\3" ) .. (.*) - zavorkama si vytvoris podvyraz .. tenhle je prvni a proto na nej v druhy casti odkazujes jako \\1, . znamena jakykoliv znak a * opakovany libovolne mockrat - to je to "blabla" ... pak nasleduje (".$slovo.") - to je durhej podvyraz a ten chces mit tucne tak proto <B>\\2</B> .. ale pozor nemuzes napsat jen ($slovo) protoze dolar taky znamena konec retezce .. no a nakonec zase libovolne moc znaku to bude stejny jako u \\1 ... btw o regularnich vyrazech se doctes i na netu ale musis trochu hledat - uz chnapes??
-
blabla MUJTEXT mujtext blabla mujtext tohle kdyz zadam do promenne veta, tak se zvyrazni pouze to posledni slovo? Nejak se mi to nedari rozchodit. Ale jinak dik za nakopnuti
-
hele a proc tam davas (.*) kdyz ten vyraz neni ukotvenej? ja bych to napsal $veta=preg_replace('/('.preg_quote($slovo).')/'),'<b>\\1</b>'); preg_quote tam je pro pripad ze by slovo obsahovalo naky ridici znaky.. jinak tohle ti to slovo nahradi vsude.. ereg_replace by slo samozrejme pouzit taky, ale pcre je rychlejsi a vubec.. POSIX je dneska uz v podstate zapomenuty standard :-)
-
> hoppik vyzkousej radejc to bohdanovo > bohdan ponevac sem jeste nevidel jinej zpusob a vubec ani tenhle zpusob sem nikde nevidel :-) ale ve vsech tech manualech na internetu sem nasel hlavne eregi_replace a ereg_replace takze vlastne ani nic jinyho neumim
-
to Bohdanovo mi nejak nejde. vubec nic to neudela. dokonce to odstrani i obsah promene $slovo
-
jo..sory $veta=preg_replace('/('.preg_quote($slovo).')/','<b>\\1</b>',$veta);
-
Porad nic. $veta = blabla MUJTEXT mujtext blabla mujtext vyhodi to tohle: blabla MUJTEXT <b>mujtext</b> blabla <b>mujtext</b> - to MUJTEXT s velkyma pismenama bohuzel zvyrazneny nebylo. kdyz jsem skousel to eregi_replace, tak tam to nezalezelo na velikosti. ale zase to zvyraznilo pouze jeden vyskyt toho slova a ostatni to uz ignorovalo. ja bych prave chtel, aby nezalezelo na tom jakyma pismenama to bude napsany (Jestli velkejma nebo malejma). Nevite proc to nejde?
-
$veta=preg_replace('/('.preg_quote($slovo).')/i','<b>\\1</b>',$veta);