Re: [Linux-programlama] php:string icinde arama[belki regex]

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Serdar KÖYLÜ (serdarkoylu@fisek.com.tr)
Date: Fri 08 Apr 2005 - 08:37:29 EEST


Selamlar..

Zaten bu "deyen" seniz bile çalışmaz :(

. $wlen += 1;
. +++ $last = $stop_pos;
. $pos = strpos($text, $pattern, $last);

Olması lazım. Belki başka minor şeyler de çıkabilir..

Saygı ve sevgiler..

> kodu deyenecegim tabi ki neden denemiyim;)
> ----- Original Message -----
> From: "OKAN ARI" <okanari@aridersanesi.com>
> To: <linux-programlama@liste.linux.org.tr>
> Sent: Thursday, April 07, 2005 12:50 PM
> Subject: Re: [Linux-programlama] php:string icinde arama[belki regex]
>
>
> > tesekkur ederim, kodu denemeyecegim elinize sağlık...
> >
> > OKAN
> >
> > ----- Original Message -----
> > From: "Serdar KÖYLÜ" <serdarkoylu@fisek.com.tr>
> > To: <linux-programlama@liste.linux.org.tr>
> > Sent: Thursday, April 07, 2005 12:14 PM
> > Subject: Re: [Linux-programlama] php:string icinde arama[belki regex]
> >
> >
> > > Selamlar..
> > >
> > > Büyük ihtimalle,
> > >
> > > strpos(string, pattern);
> > >
> > > Daha hızlı olacaktır. Bu durumda,
> > > $text = "deneme baskadenemebu,birdenemedaha,dahadeneme!notry";
> > > $pattern = "deneme";
> > > $last = 0;
> > > $pos = strpos($text, $pattern, $last);
> > > $accept = "ABCÇDEFGĞHIİJKLMNOÖPRSTUÜWVXYZ"; // Küçük harfleri ekleyin..
> > >
> > > while ($pos !== False) {
> > > $start_pos = 0;
> > > . for($i = $pos; $i > 0; $i -= 1) {
> > > . $chr = substr($text, $i, 1);
> > > . if (strstr($accept, $chr) === False) {
> > > . $start_pos = $i;
> > > . break;
> > > . }
> > > . }
> > > . $stop_pos = strlen($text);
> > > . for($i = $pos; $i < strlen($text); $i += 1) {
> > > . $chr = substr($text, $i, 1);
> > > . if (strstr($accept, $chr) === False) {
> > > . $stop_pos = $i;
> > > . break;
> > > . }
> > > . }
> > > . $word = substr($text, $start_pos, $stop_pos - $start_pos);
> > > . $warray[$wlen] = $word;
> > > . $wlen += 1;
> > > . $pos = strpos($text, $pattern, $last);
> > > }
> > >
> > > gibi bir kodla bu sorun çözülebilir (yukarıdaki kodu denemedim, ezbere
> > > yazdım biraz) sanıyorum. REGEX vs. yöntemlerinden daha hızlı olması
> > > mümkündür. Bir sorun, strstr($accept, $chr) olayı olabilir. Ben,
> > > isalpha() nın veya isupper()/islower()'in PHP karşılığı var mı
> > > bilmiyorum, bir bakmak lazım.. Eğer varsa bu hem hız hem de daha
> > > garantili yoldan kelimeyi çıkarmayı sağlayacaktır. BU yöntemle her dil
> > > için kelime çıkarımı bu tür kodla sağlanamaz..
> > >
> > > > bu durumda kelimeler ; - . , ! gibi ifadelerle ayrilmis ise ne olacak?
> > Sorun
> > > > olur... Regex ile bir cozum sanirim uygun.. Yardiminiz icin tesekkur
> > ederim
> > >
> > > Saygı ve sevgiler..
> > >
> > > _______________________________________________
> > > Linux-programlama mailing list
> > > Linux-programlama@liste.linux.org.tr
> > > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >
> > _______________________________________________
> > Linux-programlama mailing list
> > Linux-programlama@liste.linux.org.tr
> > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.