Perl育ちのA君が正規表現がfundamentalな概念だと力説するので、改めて学び直す機会が。
ちょうど、ヘッダ、コンテンツ、フッダと3構成に分かれたテンプレートを利用するシステムの、コンテンツ部分の出力を一括して書き換える必要があったので、これを機に勉強と演習。
問題:次の①の構造を②にしなさい(V社のO様のご依頼)
①.
ここはheaderファイル内に記載<div class=description>
<div class=title>タイトルだよ</div>
ここもheaderファイル内に記載</div>
②.
<div class=title>タイトルだよ</div>
<div class=description>ディスクリプション</div>
preg_replace("/(title.*?</div>)(.*)/","$1<div class=description>$2</div>",$content);
①の<div class=description>~</div>は実際にはheaderファイルにあるので、そっちで削除してから、この出力加工をした形。
PHP上がりのアレルギーもそれほどではなかった…。
※これまであまりうまくいかなかったのは、最低限マッチの「?」の用法を十分に理解していなかったからかもしれない。
なかなか、色々勉強になります。
| < 前 |
|---|







