Jump to content
php.lv forumi

Meklēšana


freak

Recommended Posts

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 by freak
Link to comment
Share on other sites

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 by freak
Link to comment
Share on other sites

×
×
  • Create New...