我正在尝试找到要转换eregi($1,$2)
为的正确正则表达式preg_match("/$1/i",$2)
我需要考虑是否会有带有 () 的函数,它们可能会出现不止一次。任何人都可以提供正确的正则表达式吗?
谢谢
我正在尝试找到要转换eregi($1,$2)
为的正确正则表达式preg_match("/$1/i",$2)
我需要考虑是否会有带有 () 的函数,它们可能会出现不止一次。任何人都可以提供正确的正则表达式吗?
谢谢
您不想使用正则表达式来解析代码。
您想使用解析器。
您是否尝试修改源代码,因为eregi
已弃用?这个正则表达式可以解决问题:
$source= <<<STR
eregi(\$1, \$2);
eregi('hello', 'world');
STR;
$source2= preg_replace("/eregi\(['\"]*([^\'\"),]+)['\"]*,\s*['\"]*([^'\"),]+)['\"]*\)/", 'preg_match("/$1/i", "$2")', $source);
var_dump($source2);