freak Posted January 2, 2005 Report Posted January 2, 2005 (edited) Gribu uztaisīt, lai meklējot tekstā, meklējamie vārdi tiek izcelti katrs savā krāsā. Viss it kā strādā, bet ja tiek ievadīti vairāki vārdi, tad dažreiz tiek izcelti vārdi arī html kodā atrastie vārdi un rezultātā viss sabojājas. Piemēram, ja $meklet='un e' ,bet $text='Ārā līst un snieg.', tad rezultātā teksts būs šāds: Ārā līst e='background-color: #FF0000'>un snieg. Vai var uztaisīt , lai nemeklē iekšhtml tagiem? Ko ieteiksiet? Kods: $meklet=split(" ",$meklet); $color=array("#FF0000","#FFFF00","#FF6600","#66FFFF","#CCFFFF","#FFFFCC","#66FF66","#FF66CC"); while(list ($key,$val)=each($meklet)): $text=eregi_replace($val,"<span style='background-color: $color[$key]'>$val</span>",$text); endwhile; Edited January 2, 2005 by freak
bubu Posted January 2, 2005 Report Posted January 2, 2005 Ieteikšu vairāk palasīt par funkcijas eregi_replace regulārās izteiksmes iespējām (iekš dokumentācijas: http://lv2.php.net/eregi_replace) īpašu uzmanību pievēršot pirmā parametra iespējām ;)
hu_ha Posted January 2, 2005 Report Posted January 2, 2005 šis var noderēt: http://php.lv/f/index.php?showtopic=1281&hl=
freak Posted January 3, 2005 Author Report Posted January 3, 2005 (edited) Tajā hack.lv variantā nestrādā meklēšana , ja izmanto latviešu valodu. PIemēram, ā ē ū ī... Tādēļ no masīva $patts jāizņem '/&[^;]*;/sU' , bet tad savukārt jāuzmanas no skaitļiem, kas tiek izmantoti LV burtu entītijās un simboliem & ; Edited January 3, 2005 by freak
Recommended Posts