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
>