<?php $test = "function prefix_foo($input, $param_1 = 'value_1', $param_2 = 'va)lue,2', $param_3 = 345, $param_4)"; $eregi = 'function[ ]{1,}(prefix_[_0-9a-z]{1,})[ ]{0,}\([ ]{0,}'; // funkcja i nazawa $eregi.= '((\$[_]{0,1}[_a-z0-9]{1,}[ ]{0,}[=]{0,1}[ ]{0,}['_),a-z0-9']{0,}[ ]{0,}[,]{0,1}[ ]{0,}){0,10})'; // parametry $eregi.= '[)]{1}'; { } ?>
wynik otrzymamy taki
Kod
Array
(
[0] => function prefix_foo($input, $param_1 = 'value_1', $param_2 = 'va)lue,2', $param_3 = 345, $param_4)
[1] => prefix_foo
[2] => $input, $param_1 = 'value_1', $param_2 = 'va)lue,2', $param_3 = 345, $param_4
[3] => $param_4
)
(
[0] => function prefix_foo($input, $param_1 = 'value_1', $param_2 = 'va)lue,2', $param_3 = 345, $param_4)
[1] => prefix_foo
[2] => $input, $param_1 = 'value_1', $param_2 = 'va)lue,2', $param_3 = 345, $param_4
[3] => $param_4
)
gdzie
[1] => nazwa funkcji
[2] => parametry
[3] => nie wiem skad sie to wzielo :/
i teraz nie mam pomyslu jak rozbic parametry na tablice, tak by okreslic czy parametr jest wymagany, czy opcjonalny z domyslna wartoscia.