Re: [GENERAL-BG] zamestvane v string - nov problem
[email protected] ("Andrey Hristov") Wed, 28 May 2003 13:51:10 +0300
| Newsgroups | php.general.bg |
|---|---|
| Message-ID | <00fa01c32507$0cd1a310$1601a8c0@andreywin> |
Kiril, preg_match_all() ne zamestva, a tursi. Ot tova, koeto namira ti si izbirash dali dumata ia imash v bazata kato kliuchova (za sravnenie-to mogesh da polzvash strtolower() i vyrhu dvata niza, za da e ok, a maj imashe i funkcia za case insensitive sravnenie). V sluchaj che namerenata duma ot preg_match_all() e kliuchova, togava pravish preg_replace() s neia, a otstrani slagash character class [^\w]+ : "[^\w]+$keyword[^\w]+" Sega tuk ima neshto osobeno. Shte e dobre da dobaviash edna shpacia nakraia na niza, tuj kato ako kliuchovata duma e nakraia, gornoto niama da sraboti. Za preg_match_all() procheti docs za modifikatorite. Opredeleno ti triabva /i i tozi za multiline (mislia che beshe /m) Andrey ----- Original Message ----- From: "Kiril Kapustin" <[email protected]> To: "PHP mailing group" <[email protected]> Sent: Wednesday, May 28, 2003 1:41 PM Subject: Re: [GENERAL-BG] zamestvane v string - nov problem > Da, shte go napravia , no otbnovo opiram do sintaksisa na preg_match - tuk > ne moga da se spravia. > Molbata mi e takava: ako niakoi moje da mi pomogne s napisvaneto na > preg_match_all, koito: > > zamestva $str1 sys $str2 v stringa $text pri uslovie, che: > $str1 ima edi-kakvi si simvoli otpred (maska - vsichki simvoli bez bukvite) > i edi-kakvi si simvoli otzad (pak maska - vsichki simvoli bez bukvite) > > Ostanaloto e lesno :-) > > ----- Original Message ----- > From: "Andrey Hristov" <[email protected]> > To: "kiril" <[email protected]> > Cc: <[email protected]> > Sent: Monday, May 26, 2003 10:19 AM > Subject: Re: [GENERAL-BG] zamestvane v string - nov problem > > > > Togava niama da stane direktno s preg_replace, a s preg_match_all, shte > > match-vash vsichki dumi > > v text-a \w+ (greedy). I sled tova ciklish po masiva i preglegdash dali gi > > imash veche. > > Preporuchvam ti da gi pazish po sledniat nachin : > > $ar['keyword'] = 'some_address'; > > taka lesno s isset($ar['keyword']) mogesh da proveriavash dali ia imash > > dumata - edin hash lookup > > sreshtu inache in_array(), kojto vurti po cikula. > > > > > > > > Uspeh, > > Andrey > > > > > > ----- Original Message ----- > > From: "kiril" <[email protected]> > > To: "PHP mailing group" <[email protected]> > > Sent: Sunday, May 25, 2003 10:06 PM > > Subject: [GENERAL-BG] zamestvane v string - nov problem > > > > > > > Blagodaria ti, Andrey! > > > Tova shte mi svyrshi rabota. Dokato prilagah preg_replace-a se sblyskah > s > > > drug problem. Kogato triabva da se izvyrshi zamestvane v niakakva malka > > > duma, koqto chesto se qwqwa koren(ili kakvoto e tam) na mnogo drugi > dumi, > > > funkciata prosto "sriazva" dumata. Naprimer, ako tyrsime dumata "obraz". > > > > > > 'obraz' ----> '<a href=http://niakade_si.dom">obraz</a>' //tuk vs. e ok > > > 'obrazovanie' ----> '<a href=http://niakade_si.dom">obraz</a>ovanie' > > //tova > > > ne bi triabvalo da go hvashta > > > 'obrazyt' ----> '<a href=http://niakade_si.dom">obraz</a>yt' //tova bi > > > triabvalo da go hvane cialoto > > > > > > Predpolagam, che naj-udachnoto reshenie shte byde da se napravi edno > malko > > > masivche s naj-chesto sreshtanite okonchania v BG ezik, napr: > > > > > > $arr[0]='yt'; > > > $arr[1]='iq'; > > > $arr[2]='ite'; > > > $arr[3]='che'; > > > $arr[4]='i'; > > > // i t.n. > > > > > > i pri pregled na teksta sydyrjasht dumite, koito shte bydat zamesteni da > > se > > > proveriava i tozi duma.masiv[$i]. Ne uspiah da go napravia sam, tyj kato > > > sintaksisa na preg_replace() mi e malko truden.... :-((( > > > Ako niakoj moje da pomogne malko s preg-tragediata, shte mu byda mnoo > > > blagodaren :-) Kato zavyrsha funkciata, shte ia pusna tuk za da mogat i > > > drugite da si ia polzvat. :-) > > > Predvaritelno vi blagodaria za sydejstvieto! :-) > > > > > > > > > > > > ----- Original Message ----- > > > From: "Andrey Hristov" <[email protected]> > > > To: "kiril" <[email protected]> > > > Cc: <[email protected]> > > > Sent: Sunday, May 25, 2003 6:14 PM > > > Subject: Re: [GENERAL-BG] zamestvane v string > > > > > > > > > > Kiril, > > > > > > > > probvaj s > > > > $new_text = preg_replace(array('/gencho/i'), > > > > array('|http://gencho.com">\0</a>|'), $text); > > > > > > > > Andrey > > > > > > > > ----- Original Message ----- > > > > From: "kiril" <[email protected]> > > > > To: "PHP mailing group" <[email protected]> > > > > Sent: Sunday, May 25, 2003 6:05 PM > > > > Subject: [GENERAL-BG] zamestvane v string > > > > > > > > > > > > Razgoni mi se familiata s edna elementarna funkcijka za generirane na > > > > linkove v tekst izvaden ot bazata. V obshti linii zakysah na > > > > eregi_replace(). Triabva da otkriva opredelena duma v teksta i da ia > > > > zamestva sys syotvetnia link (tova e zapisano v bazata). Naprimer; > > > > > > > > 'gencho' -> 'http://gencho.com' //(v mysql) > > > > > > > > $str ='pencho gencho atanas'; > > > > echo(keyword($str)) ----> 'pencho <a > href="http://gencho.com">gencho</a> > > > > atanas' > > > > > > > > -- do tuk dobre, no -- > > > > > > > > ako stringa e s niakakvi [:punct:] - ove vytre, ne gi otkriva :-((( > > > > napr: > > > > $str ='pencho (gencho) atanas'; - ne go otkriva > > > > $str ='pencho "gencho" atanas'; - ne go otkriva > > > > $str ='pencho-gencho atanas'; - ne go otkriva > > > > > > > > niakoi moje li da mi pomogne ili ako ima gotova podobna funkcia da ia > > > pusne > > > > tuk? > > > > Predvaritelno vi blagodaria :-) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Bulgarian General User List Mailing List (http://www.php.net/) > > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > > > > > -- > Bulgarian General User List Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php >