2005/02/15
改行変換って結構強引やね。
さくら日記帳に限らず掲示板などでは必ず使われる改行タグ BR。
これ、s/\n/<br>\n/ だけすりゃぁいいとか思ったら大間違い。
たとえば HTML タグの後ろで改行した場合、普通は入れないはずの BR タグが入れたくもないのに入ってしまう。
それを正規表現一発でどう変換しようかと考えていたらいつの間にか頭から煙が出ていたのだが (ぉ、ぐぐる先生に聞いてみたところ有力な情報をゲッツ。




やっぱり考えることはおなじくごり押しかよ。_no




で、そのことをチャットで話してたらかいちょもそのコードを適用したらしく。
つーわけでネタも似たようなもんなのでトラックバックしてみる

で、さくら日記帳 for MySQL で使っているごり押し部分。
前作のさくら日記帳 Rev-2.0.0 BETA では PRE タグ処理が分離していたが、今回は BR タグ変換と統合。
PRE タグは BR タグを付けると二重改行になるのでこうした小細工が必要なり。
ちなみに二重改行は BR の連続になるが、P タグに変換するのがマンドクセ('A`)ので諦めた。(ぉ

# PRE タグ検知フラグ
my $pre_tag_flag = 0;
# バッファ
my $wd_tmp;

# \n (LF) でぶつ切りにする
# \r? は \r (CR) が無くてもおkという事
foreach my $line (split(/\r?\n/, $wd)) {
# <PRE> タグの扱いは特殊。この順序と if の使い方が大事。
# まずは <pre> もしくは <pre style=""> などが含まれる文字列を見つけた場合は PRE タグ検知フラグを立てる。
    if ($line =~ /<pre( .*?)?>/) { $pre_tag_flag = 1; }
# PRE タグ検知フラグが立っているか、もしくは $regex で指定したタグが見つかれば BR タグは付けない。
    if ($pre_tag_flag || $line =~ /<\/?($regex .*?|$regex)>$/) { $wd_tmp .= "$line\n"; }
# そうで無い場合は BR タグを付ける。
    else { $wd_tmp .= "$line<br>\n"; }
# もし /PRE タグが見つかれば PRE タグ検知フラグをクリア。
    if ($line =~ /<\/pre( .*?)?>/) { $pre_tag_flag = 0; }
}
# バッファの内容をメインバッファに移す。
$wd = $wd_tmp;

  - NO COMMENT -
TrackBack URL:
SIGMA 10-20mm F4-5.6 EX DC HSM 発表
デジタル専用超広角ズームレンズ 10-20mm F4-5.6 EX DC HSM




キタ━━(゚∀゚)━━!!!




シグマえらい!よくやった!!
タムロンの 11-18 買おうかなとか思ってたけど絶対こっち買おう。

実はでっかいレンズ萌えのシグマファン。
DC だから小さいけど(゚ε゚)キニシナイ!!
最終:2005/09/01 00:08:32 カテゴリ:カメラ・レンズなど
タグ:
  • 蝦兄:最近増えてきた「デジタル対応レンズ」の意味がやっと分かったですよ.
    はじめ画角の調整とかそっちで何か秘密があるのかと思ってたけど,あれは実は最後群のレンズコーティングだったんですね.
    CCDやCMOSからレンズに向かって帰っていく光でフレアやゴーストができにくいコーティングを「デジタル対応仕様」と称してるそうです.
    もう知ってた?w
  • G兄:うぃーむっしゅー。
    1眼レフデジカメユーザーには常識デース。
    タムロンの新型 90mm マクロもレンズコーティングもそれやね。
    といっても場合によっちゃ微々たるもんですが。
TrackBack URL:
またまた更新@さくら日記帳 for MySQL
左側に投稿記事の最新版リストを投稿日付順に表示
日付でジャンプできないのでディレクトリツリーは OPEN タイプを選択。
ちなみにこの JavaScript、基本は CLOSE のセッティングにしてあるので初めだけ閉じるときは 2回クリックしないとだめなのが非常に残念。

カテゴリの統廃合実施
Perl が PC 関連にぶら下がってるし、UNIX 系 OS も同じ所にぶら下がってるから共に「言語系」「OS 系」と分けた方がいいかな?と思ったが、そんなに細切れに分けてもしかたないなぁとふと気が付いた。
なにしろメインカテゴリにぶら下がる数が少なくなる。(笑)

さくら日記帳のカテゴリ作るか。

というわけでさっさとカテゴリ分けた。(笑)
「プログラム、スクリプト」カテゴリを増設、その下に Perl とさくら日記帳ネタを格納。

一番下の前後ページ移動リンクの修正
どうせ使わないからとのばしのばしにしていた移動用リンクだが、このバージョンでやっと修正。
今まではなんと最後のページにたどり着いても次のページが有るかのようにふるまっていた。(笑)
つか面倒だっただけだが。


  - NO COMMENT -
TrackBack URL:
QRコード
携帯サイト試験運用
https://griffonworks.net/nikki/cgi-bin/k.cgi
1行板

リンク
備忘録
  • 無し
物欲リスト
  • Canon RF50mm F1.2L USM
  • SIGMA 20mm F1.4 EF Art
  • ニンバス チヌーク
  • OCB-1 ST II
  • Cayin N3Ultra, N6ii DAP/A01(AKM) / Astell&Kern SA700, KANN ALPHA (中古)
ツーリング ドライブ兼野外撮影予定リスト