freak Posted January 2, 2005 Report Share 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 Link to comment Share on other sites More sharing options...
bubu Posted January 2, 2005 Report Share 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 ;) Link to comment Share on other sites More sharing options...
hu_ha Posted January 2, 2005 Report Share Posted January 2, 2005 šis var noderēt: http://php.lv/f/index.php?showtopic=1281&hl= Link to comment Share on other sites More sharing options...
freak Posted January 3, 2005 Author Report Share 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 Link to comment Share on other sites More sharing options...
Recommended Posts