Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

RegExp preg_match

[es] :: PHP :: RegExp preg_match

[ Pregleda: 2050 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Zdravko T1

Član broj: 263329
Poruke: 25
*.dynamic.isp.telekom.rs.



Profil

icon RegExp preg_match22.10.2010. u 01:58 - pre 164 meseci
Pozdrav,

celo vece se patim sa jednim regular expression i ne mogu nikako da resim pa sam dosao ovde pokusati naci pomoc(priznajem da sam pocetnik).Ideja je da se matchuje string koji se moze sastojati iz vise reci npr "Test", "Test 1", "Test 1 Test 2" znaci nebitno koliko reci u njemu bitno mi je da preg_match vrati array u kojem ce biti ceo taj stringJa sam pokusavao ovako

Code:

$pattern = '/\"([0-9a-zA-Z_=?!-]+\s?)*\"/';
$string = '"Test 12"';
preg_match($pattern, $string, $matches);


Medjutim u $matches dobijem samo '12', nikako ne mogu da dobijem Test 12, ima neko ideju ?
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.rs.



+257 Profil

icon Re: RegExp preg_match22.10.2010. u 06:47 - pre 164 meseci
Na tvoj kod, dodavsi jedno print_r($matches) imamo:
Citat:
Array
(
[0] => "Test 12"
[1] => 12
)


Dakle, samo nisi dobro odabrao sta uzeti iz $matches niza.
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Zdravko T1

Član broj: 263329
Poruke: 25
*.dynamic.isp.telekom.rs.



Profil

icon Re: RegExp preg_match22.10.2010. u 13:57 - pre 164 meseci
Nazalost, u $matches[0] stoji uvek ceo string.Stvar je u tome sto je sto sam postavio zapravo deo jednog veceg regexpa i ne vredi mi nista ceo string, nego mi treba svaka vrednost posebno za kasnije obradjivanje. Evo dacu ceo primer kako je kod mene trenutno:

Code:

$string = '1    1    1    "string1 string2 string3"';
$pattern = '/(\d+\s)(\d+\s)(\d+\s)\"([0-9a-zA-Z_=?öø!-]+\s?)*\"/';

preg_match($pattern, $string, $matches);

$matches sada sadrzi
[0]=1 1 1 "string1 string2 string3"
[1]= 1
[2]= 1
[3] = 1
[4] = string3(umesto string1 string2 string3)

To je problem jer mi treba sve sto se nalazi pod navodnicima.

[Ovu poruku je menjao Zdravko T1 dana 22.10.2010. u 15:15 GMT+1]
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: RegExp preg_match22.10.2010. u 15:34 - pre 164 meseci
Code (php):

$string = '1    1    1    "string1 string2 string3", "", "lorem ipsum 123", "123"';
$pattern = '!"(?:[^"]|\\.)*"!';

preg_match_all($pattern, $string, $matches);

print_r($matches);
 


sto daje:
Code:

Array
(
    [0] => Array
        (
            [0] => "string1 string2 string3"
            [1] => ""
            [2] => "lorem ipsum 123"
            [3] => "123"
        )
)






[Ovu poruku je menjao Aleksandar Ružičić dana 22.10.2010. u 16:48 GMT+1]
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.rs.



+257 Profil

icon Re: RegExp preg_match22.10.2010. u 18:35 - pre 164 meseci
^^ Tacno, uopste nisam jutros razmisljao... sta ti je kad covek zuri ;(

Izvinjavam se na netacnoj informaciji.
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Zdravko T1

Član broj: 263329
Poruke: 25
*.dynamic.isp.telekom.rs.



Profil

icon Re: RegExp preg_match22.10.2010. u 19:40 - pre 164 meseci
Zahvaljujem Aleksandre.
 
Odgovor na temu

[es] :: PHP :: RegExp preg_match

[ Pregleda: 2050 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.