このファイルを使用して、フッターのスーパー プリミティブsed
またはperl
置換を実行しようとしています。
通常、私は DOM を使用して HTML ファイルを解析しますが、これまでのところ、sed/perl を使用して処理している原始的な HTML ファイル (時間の問題) が原因で問題は発生していません。
必要なのは、<div id="footer">
空白を含む 、別の要素を持つ要素、および終了</div>
を<?php include 'footer.php';?>
.
何らかの理由で、このパターンを まで一致させることさえできません<div id="stupid">
。私は空白文字があることを知っているので、私は使用しました\s*
:
perl -pe 's|<div id="footer">.*\s*.*\s*|<?php include INC_PATH . 'includes/footer.php'; ?>|' file.html | less
しかし、それは最初の行にのみ一致します。交換は次のようになります。
<?php include INC_PATH . includes/footer.php; ?>
<div id="stupid"><img src="file.gif" width="206" height="252"></div>
</div>
簡単なことを忘れているのでしょうか、それとも複数行の一致を処理するために何らかのフラグを指定する必要がありますか?
perl -v
は 5.14.2 で、pe
フラグのみを使用しています。