将所有 PHP 文件中的 split 替换为explode

将所有 PHP 文件中的 split 替换为explode

如何在包含许多文件的文件夹结构中替换过时的splitPHP 命令?explode

答案1

与此同时,我自己也想通了。

find . -iname '*.php' -type f -exec grep -l -m 1 -P '[<][?]' {} \; | xargs -r grep -l -m 1 --null -P '[^_.]split[\s]*[(]' | sudo xargs -0 -r perl -pi -e 's/([^_.])split([\s]*[(])/$1explode$2/g'
  1. 获取 PHP 文件(不区分大小写)。
  2. 检查是否<?在里面。
  3. 检查是否split(在里面。
  4. split(用。。。来代替explode(

对于 3 和 4:( _split()preg_split.split((在我的例子中是 Javascript)不会被替换。

在 Ubuntu 18.04 上测试。

相关内容