ELs Posted January 16, 2006 Report Share Posted January 16, 2006 Uzdevums: Dots tekts. Tekstā vajag atrast kādu vārdu un iekrāsot viņu sarkanā krāsā. Meklēšana case insensitive un pēc meklētais vārds nedrīkst tik bojāts (pārtaisīts no lielajiem burtiem uz mazajiem, no mazajiem uz lielajiem utt.) $text = 'Šlesers un Kalvītis iet ciemos pie Šķēles dzert tēju'; $word = 'Šķēle'; $expr="/\b$word(\B|\b)/i"; $text=preg_replace($expr, "<font color=red>\\0</font>",$text); Vajadzētu iegūt lai Šķēle iekrāsojas, bet tā nenotiek. Viss ir ok, ja meklētais vārds nesākas ar Š, Ķ, Č utt. Esmu izmantojis arī citas repleisošanas funkcijas, bet neviena man nav nostrādājusi uz lielajiem burtiem ar mīkstinājuma un garuma zīmēm. Mazie burti ar attiecīgajām zīmēm nostrādā... Idejas vai norādes uz kļūdu? Link to comment Share on other sites More sharing options...
Delfins Posted January 16, 2006 Report Share Posted January 16, 2006 man gan viss strādā... Link to comment Share on other sites More sharing options...
[Ya] Posted January 16, 2006 Report Share Posted January 16, 2006 man ar strādā .... laikam tomēr jāpadomā ka rokas vajadzētu iztaisnot, pamēģini iebarot dokumentam headeri ar pieņemsim UTF-8 kodēšanu, kā arī failu saglabā kā UTF-8 Link to comment Share on other sites More sharing options...
bubu Posted January 16, 2006 Report Share Posted January 16, 2006 Sorry, ELs galīgi tavu meilu biju piemirsis. Tagad pamēģināju tavu iekopēto te koda gabalu. Ieseivoju to kā UTF-8 un viss strādāja - aizvietojās kā vajag. P.S. (\B|\b) IMO nav galīgi nekādas jēgas, tad tāpat kā būtu (1|[^1]). Tb izteiksme iekavās matchos jebko. Link to comment Share on other sites More sharing options...
ELs Posted January 16, 2006 Author Report Share Posted January 16, 2006 2 [Ya] - par roku līkumu lūdzu šoreiz nerunāsim... OK - nu ja jums visiem strādā būs jāskatās kur man sviests bija... it kā arī viss bija kā UTF-8 glabāts bet tik un tā nestrādāja... vēlāk būs papildinfo... varbūt kaut ko vienkārši nepamanīju Link to comment Share on other sites More sharing options...
Delfins Posted January 17, 2006 Report Share Posted January 17, 2006 anyway.. tekstu glabāt kodā nav labi ;) citādi jāskatās editors, ko, kur un kā tas saglabā Link to comment Share on other sites More sharing options...
ELs Posted February 10, 2006 Author Report Share Posted February 10, 2006 Triks tāds, ka viss strādāja uz piemēram WIN NT, bet nestrādāja uz Linux. Ir atrasts risinājums. $text = 'Šlesers un Kalvītis iet ciemos pie Šķēles dzert tēju'; $word = 'Šķēle'; $expr="/\b$word(\B|\b)/i"; $text=preg_replace($expr, "<font color=red>\\0</font>",$text); Šāds variants strādāja uz NT. Bet $text = 'Šlesers un Kalvītis iet ciemos pie Šķēles dzert tēju'; $word = 'Šķēle'; $expr="/(\B|\b)$word(\B|\b)/iu"; $text=preg_replace($expr, "<font color=red>\\0</font>",$text); strādā uz abiem. Lūk kur lielais noslēpums. Ceru, ka kādam palīdzēs noteiktās situācijās. Link to comment Share on other sites More sharing options...
Delfins Posted February 10, 2006 Report Share Posted February 10, 2006 pregi tač dažādi (sākums imho pat ļoti atšķirās..) Ko tur vēl varēja sagaidīt... Link to comment Share on other sites More sharing options...
bubu Posted February 11, 2006 Report Share Posted February 11, 2006 Delfins: tu nesaprati, ka pirmais pregs strādāja uz win, bet uz linux nestrādāja (viens un tas pats pregs). Link to comment Share on other sites More sharing options...
Recommended Posts