Home 技術ドキュメント メモ HTML出力の正規表現による加工(PHP preg_replace)

HTML出力の正規表現による加工(PHP preg_replace)

Eメール 印刷 PDF

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上がりのアレルギーもそれほどではなかった…。
※これまであまりうまくいかなかったのは、最低限マッチの「?」の用法を十分に理解していなかったからかもしれない。

なかなか、色々勉強になります。

最終更新 ( 2010年 2月 17日(水曜日) 10:55 )  
JapaneseEnglish

きょうのことば

" 君子は信ぜられて後に諌む。未だ信ぜられざればすなわち以て己をそしるとなす。 "

孔子『論語』


対応可能オープンソース

(EC系システム)

  • Zencart(&osCommerce)
  • ecCube

(CMS系システム)

  • Joomla(会員系・ポータル)
  • Movable Type(ブログ)
  • Moodle(オンライン学習)

対応言語・開発分野

(ウェブプログラミング)

  • PHP/Perl/Java
  • Ajax/Action Script
  • MySQL/Postgres

(イントラ系開発分野)

  • .NET/VB/C系
  • Objective-C
  • Access/Excel VBA

(モバイル開発)

  • iアプリ、ezアプリ、sアプリ
  • iPhone(アイフォーン)アプリ
  • Android(アンドロイド)アプリ

(組み込み系 検証&シミレーション)

  • HDL(Verilog組み込み検証)
  • AVR(AVR Studioシミュレーション)
  • 組込み連携ウェブソリューション

(サーバ関連)

  • Linux/Windows/Ubuntu
  • メール・ウェブサーバ構築
  • DNS/ネットワーキング
  • バックアップ/クラスタ

サイトについて

リンクフリー

個人ご利用の場合はリンクフリーです。備忘録等に各種ドキュメントへのリンク。ご自由にご利用ください。

転載

出典元表記(当社名orリンク記載)の際は転載等ご自由にご利用ください。

ライセンス

このページの内容の一部は、Google が作成、提供しているコンテンツをベースに変更・複製したもので、クリエイティブ・コモンズの表 示 3.0 ライセンスに記載の条件に従って使用しています。

Sola.com Co.,Ltd.

ソラコムお問い合わせ

〒981-0913
宮城県仙台市青葉区昭和町3-7 スカイコート上杉601
TEL:022-234-9972
Fax:022-778-6779

お問合せ・お見積もり


レンタルサーバ

エントリー:¥1,050/月
標準プラン:¥5,250/月
ハイエンド:¥16,500/月
1年間ドメイン無料!!
.com .net .info
.biz .name