[ arsa xx @ 24.12.2004. 16:24 ] @
El moze neko da mi napise regexp PCRE za izvlacenje atributa iz sledeceg koda:

<?xml version=1.1 ?>
<row action="obrisi" status="101">

Trebami vrednosti atributa 'action' i 'status' ?

Hvala unapred. Inace sam pokusao sam nesto ali nikako mi neide
Uspeo sam npr. da izvucem:
action="obrisi" status="101"
sa:
$regexp = '/<row(.*)\/>/i';

ali nikako same vrednosti atributa.

Hvala unapred.

[ Gojko Vujovic @ 24.12.2004. 16:43 ] @
/<row.*action="([^"]*)".*status="([^"]*)".*>/i

Posto vidim da je php u pitanju, ako koristis preg_match_all, u $matches[1] i $matches[2] ces imati rezultate.
[ bzero @ 24.12.2004. 17:02 ] @
Ukoliko je taj tag uvek ovakav:

<row action="obrisi" status="101">

onda je gornje resenje sasvim ok. Medjutim, ako moze da se desi da bude:

<row status="101" action="obrisi">

ili cak:

<row nesto="123" action="obrisi" josnesto="aaa" status="101">

mozes da napravis ovakvu funkciju:

Code:

function atribute_value($xml, $tagname, $attrname) {
    preg_match("/<$tagname\s+[^>]*$attrname\s*=\s*\"([^\">]*)\"[^>]*>/is", $xml, $match);
    return $match[1];
}


pa da vrednosti za atribute uzimas ovako:
Code:

$action = atribute_value($xml, 'row', 'action');
$status= atribute_value($xml, 'row', 'status');
// itd...
[ boccio @ 24.12.2004. 17:05 ] @
Ako je u pitanju XML fajl, mozda bi ti bilo lakse da koristis XML Parser umesto PCRE-a...callback xml_set_element_handler() bi ti odradio posao...ako treba primer - reci.
[ arsa xx @ 24.12.2004. 19:29 ] @
Hvala svima,
radi se bas o ovom redu xml koda pa nema potrebe za xml finkcijama. Takodje mi je bas i trebalo kratko resenje uspomoc regexp.