私はphpファイルを持っていますが、最後の終了タグで後に何もない場合にのみ、終了タグ(?>)を削除したいと思います。perl regexを使ってストリップを閉じるphpタグ
<?php
//some code
?>
<?php
//some other code
?> // <- this and only this should be removed
私がしようとしているパターンの/(\ sの* \> \ *よ?)$ // S 'とその突然変異のいくつかが、成功しません:彼らはの出現をすべて削除>、壊します?コード、私はどのようにEOFに一致するか分からない。
(はい、私は回避策を知っている:ファイルの最後の行だけをチェックするなどtail -1
を使用して、それは私の全体のコードの書式設定スクリプトが複雑になるので、問題は適切に構築正規表現で解決することができれば、それは素晴らしいことです)
あなたの正規表現は動作するはずです - しかし、あなたは一つの変数にファイル全体の内容を読んでいる場合にのみ - と、それを解析:次のPHPコードに
を:このPerlコードは、私のために働きました。あなたが 'perl -p -i -e 's /(\ s * \?> \ s *)$ //' filename.php'のようなものを使うと、各行は一度に1つずつ処理されます。明らかに、これはすべての発生を取り除くでしょう。 –