prova a vedere questo codice:
codice:
<?
$preg="'<modulo([^>]*)>(.*?)</modulo>'si";
$str="<modulo param1=\"primo\" param2=\"secondo\" param3=\"terzo\">blabla</modulo>";

preg_match_all($preg,$str,$arr);

$str2=$arr[1][0];
echo "<pre>$str2</pre>";

$preg2="#([a-z0-9]{1,})=\"([a-zA-z0-9]{1,})\"#Us";
preg_match_all($preg2,$str2,$arr2);

echo "<pre>";
print_r($arr2);
echo "</pre>";
?>
in $arr2, per quanto riguarda questo esempio avrai:
codice:
Array
(
    [0] => Array
        (
            [0] => param1="primo"
            [1] => param2="secondo"
            [2] => param3="terzo"
        )

    [1] => Array
        (
            [0] => param1
            [1] => param2
            [2] => param3
        )

    [2] => Array
        (
            [0] => primo
            [1] => secondo
            [2] => terzo
        )

)

magari era possibile farlo usando una sola preg, ma non so come




vedi se questo ti può essere utile in qualche modo