#!/bin/bash
perl -p -i -e "s/eregi_replace *\\( *\"([^\@]+?)(?<\!\\\\)\", */preg_replace(\"\@\\1\@i\", /g" $1
perl -p -i -e "s/eregi_replace *\\( *\'([^\@]+?)(?<\!\\\\)\', */preg_replace(\'\@\\1\@i\', /g" $1
perl -p -i -e "s/ereg_replace *\\( *\"([^\@]+?)(?<\!\\\\)\", */preg_replace(\"\@\\1\@\", /g" $1
perl -p -i -e "s/ereg_replace *\\( *\'([^\@]+?)(?<\!\\\\)\', */preg_replace(\'\@\\1\@\', /g" $1
perl -p -i -e "s/eregi *\\( *\"([^\@]+?)(?<\!\\\\)\", */preg_match(\"\@\\1\@i\", /g" $1
perl -p -i -e "s/eregi *\\( *\'([^\@]+?)(?<\!\\\\)\', */preg_match(\'\@\\1\@i\', /g" $1
perl -p -i -e "s/ereg *\\( *\"([^\@]+?)(?<\!\\\\)\", */preg_match(\"\@\\1\@\", /g" $1
perl -p -i -e "s/ereg *\\( *\'([^\@]+?)(?<\!\\\\)\', */preg_match(\'\@\\1\@\', /g" $1
これが私が使用する小さなbashスクリプトです。私よりも時間があれば、おそらくこれらすべてをより少ない(1?)正規表現に押しつぶすことができますが、それでうまくいくはずです。@
お好みの区切り文字に自由に置き換えてください。これをファイルに貼り付けてchmod +x
から呼び出し、ファイルを引数として渡します。
まとめて使用する必要がある場合は、次のようなもので十分です。
find /path/to/your/project -name '*.php' -exec foo {} \;
foo
bashスクリプトに名前を付けたものはどこにありますか。
注:これは完全ではないため、見逃したフリンジケースを手動で変更する必要がありますが、それでも多くの作業を節約できます。また、これはインプレースのファイル編集を行うことに注意してください。