Jörg: Regex mal wieder (Parameter in Funktionsaufruf in Anführungszeichen setzen)

Beitrag lesen

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