I want
ereg ($rat, $dog, $cat)
to become
preg_match (\'#\'.$rat.\'#\', $dog, $cat)
To achieve this, I did
I rather like Perl regexs (easier to write):
echo 'ereg ($rat, $dog, $cat)' | perl -pe 's/ereg\s*\(\s*(\$[^,]+),(.+)\)/preg_match("#" . $1 . "#", $2)/g'
or better (for PHP):
echo 'ereg ($rat, $dog, $cat)' | perl -pe 's/ereg\s*\(\s*(\$[^,]+),(.+)\)/preg_match("#{$1}#", $2)/g'
In sed, it would be:
echo 'ereg ($rat, $dog, $cat)' | sed -e 's/ereg\s*(\s*\(\$[^,]\+\),\(.\+\))/preg_match("#" . \1 . "#", \2)/'
Too many backslashes!!!