ereg()到preg_match(),用于使用正则表达式进行PHP 5.3 / 4迁移

时间:2012-05-09 09:52:44

标签: php migration preg-replace ereg

  

可能重复:
  Converting ereg expressions to preg

我的计划:打开每个PHP文件并逐一阅读它们的行。如果有一个ereg()函数,则将其替换为preg_match(),并将pattern参数括在斜杠'/'中。

如果我得到以下行,在读取文件时,如何使用正则表达式将“ereg”替换为“preg_match”和“pattern”替换为“用斜杠(/)括起来的模式”?

$test = ereg('\.([^\.]*$)', $file_src_name, $extension); // Old PHP

//PHP migration fix

//$test = ereg('\.([^\.]*$)', $file_src_name, $extension); // Old PHP

$test = preg_match('/\.([^\.]*$)/', $file_src_name, $extension); // PHP 5.3/4

如果可以,我可以将其提供给一个文件夹,它将转换所有与PHP 5.3 / 4兼容的文件。

注意:旧代码应该在那里注释,这就是为什么我没有使用任何编辑器的查找和替换

1 个答案:

答案 0 :(得分:0)

$test =preg_match('/\.([^\.]*)$/i', $file_src_name, $matches);
$extension = $matches[1];