#blognavi
どこかの誰かが同じことで悩んでたり検索かけたりしていたら役に立つかもしれないんで、メモしておきます。
Broachのブログカスタマイズやってるときに3段組のレイアウトサンプルを幾つか作ったんだけど、その時はレイアウトにだけかまっていて、XHTMLの文法チェックをかけるのを忘れてた。
このあいだ、
ez-HTML(うらんが使わせてもらっているHTMLエディタ)でページを開いたときに文法チェックをかけたら、鬼のようなエラーが。
しまった~。うっかり見過ごしてた修正項目、カウントしたら60箇所以上ある。
自分で手打ちしていれば、XHTMLで省略できない終了タグを省略する、なんてミスはしないけど、と言い訳しつつ、これだけの修正箇所、手作業で直してたら時間かかってタイヘンなので、、
たとえば
<li><img src="stock1/image/arrow.gif" width="14" height="14" alt="" border="0" align="absbottom" /> <a href="./?entry_id=215088#comment">エントリータイトル</a> (3)
という終了タグがないHTML文に、一つずつ</li>を追加していっては日が暮れる。
そこで利用したのが正規表現。
エディタは秀丸に切り換え。
上のHTML文を正規表現で表すと、<li><(.*?)>.*
なんだけど、これを検索文字列として、置換文字列に
<li><(.*?)>.*</li>
と設定してしまうと、メタキャラクタがそのまま展開されてしまうので
この場合はタグ付き正規表現を利用する。
検索文字列 \f<li>.+
置換文字列 \1</li>
と設定することで、
<li><img src="stock1/image/arrow.gif" width="14" height="14" alt="" border="0" align="absbottom" /> <a href="./?entry_id=215088#comment">エントリータイトル</a> (3)
の文を
<li><img src="stock1/image/arrow.gif" width="14" height="14" alt="" border="0" align="absbottom" /> <a href="./?entry_id=215088#comment">エントリータイトル</a> (3)</li>
と置換することが出来る。
手作業だったら何十分もかかるであろー作業を数秒で終わらせることができた。
しかしBroachのテンプレは「このページはXHTMLでっせ」と宣言してるわりに記法がHTMLのままって箇所が多いなあ、、。製作側もしっかり把握してないんだろうな。
見切り発車でテンプレートを公開したら、迷惑するのはユーザのほうだとおもうけど。
ところでなんで、ez-HTMLや
秀丸をHTMLドキュメントの編集に使っているかというと、その理由は、、次回書こう。
- 正規表現
- メタキャラクタ(文字列検索のために特殊な意味を持たせた記号)と組み合わせることで、ユーザーのパターンマッチする文字列の検索条件を指定する方法。
カテゴリ: [
覚え書き] - &trackback() - 2006年08月25日 09:31:23
#blognavi
最終更新:2006年08月25日 09:32