大量の文字列置換を行う際は、正規表現による文字列置換がとっても便利。
今回は「<?php echo $hoge ?>」となっている変数の部分をとある関数で一気に囲みたかったのでやってみた。
上記のタグを抜き出す正規表現は下記の通り。(で問題ないはず。。。)
\<\?php echo (.*?);{0,1}.*?\?\>
上記の様に括弧「()」でくくることにより、そこに引っかかってきた文字列を受け取ることが出来る。
置換窓では下記のようにすると該当箇所を引用することが出来る。
<?php echo h($1); ?>
※「$1」の部分にマッチした部分が出力される。
これで一気に変数を関数で囲うことが出来た。おめでたし。