Hallo Rolf,
Ich habe ein bisschen gespielt:
$pattern = '/\b(my_function\b\s*\(.*?,\s*)(int|string|float|int_null|int_allow_negative|bool)(\s*\))/m'; $dst = preg_replace_callback($pattern, "replacer", $src); echo "\n---\nErgebnis:\n$dst\n"; function replacer($matches) { $result = $matches[1] . "J_XXX_" . strtoupper($matches[2]) . $matches[3]; echo $ return $result; }
Ich verwende einen Replace-Callback, um den Namen der Konstanten Großbuchstaben umzuwandeln.
Sekunde, aber wenn wir eh eine Regex drüber jagen, dann müsste es doch ebenso einfach und/oder riskant sein, daraus sowas wie
myFunction($ganzEgal,'J_XXX_float')
zu machen. Dann könnte ich mir sparen, Konstanten daraus zu machen?
Oder habe ich was missverstanden?
Jörg