Forum Patio [ホームに戻る] [スレッド一覧] [新規投稿] [留意事項] [ワード検索] [管理用] [過去ログ一覧] 過去ログ閲覧

◆ スレッド全体を投稿順に表示  逆順に表示
スレッド24: 投稿記事の表現力を高めるBBCode対応のv1.13をリリースします
日時: 2009/01/18 18:26
名前: スガラボット ID:6vZFUAAM
参照: http://vmorita.com/bbs/patio/

Forum Patio ファンの皆さん、こんにちは。携帯電話からも閲覧可能なBBCode対応の新しいバージョン v1.13m/v1.13sを リリースします。

>>[21]-8で提案したBBCode対応のForum Patio V1.13
がやっと完成しました。当初はBBCodeの一部のみに対応するように考えておりましたが結局[img]と[mail]以外はおおむね全てのタグに対応することにしました。[img]はネット上にある画像を記事の内部に貼り付けるものですが、既にネット上にある画像なら[url=]でリンクをはれば同様の目的は達成できます。また[mail]はフォームのEmail欄にアドレスを入力しておけば閲覧者からのメールを受けとることができるためこれも不要と判断しました。

[img]の替わりと言う訳でもないのですが、掲示板に投稿するときにアップロードする画像・ファイルに投稿記事内の説明文からリンクを張る[url=n]というタグを追加拡張しました。このリンク機能は記事の下部に表示されるアップロード画像・ファイルへのリンクと同様に画像ファイルならこの説明リンクをクリックするとその画像が元のサイズで別ページに表示されます。

BBCodeの実施例はこのスレッド親記事の次のレスを参照して下さい。
>>1

BBCodeの有効/無効はinit.cgiで設定できます。また配布版ではBBCodeについての説明を追加した会議室スレッド例と留意事項も添付しておりますので参考にして下さい。BBCodeの本家であるXOOPS掲示板には、JavaScriptで記述されたBBCodeの入力支援用ボタンが投稿フォームに表示される機能もありますが今回は割愛しています。HTMLを扱える人にはこの程度のタグ支援は必要ないと思ったからです。またFirefoxにはBBCode入力支援プラグインの良くできたものがあるので、この辺については後ほどご紹介できると思います。

それでは、BBCode対応のForum Patio V1.13をご愛用頂ければと思います。
(*注: >>[21]-18、及び >>[21]-24 で改良したcgiに差し替えてv1.13aのアーカイブにアップデートしました。2009/02/04)

スガラボット
1. 携帯・BBCode対応複数会議室版v113am

forum_patio_v113am.zip
2. 携帯・BBCode対応単一会議室版v113as

forum_patio_v113as.zip
No.1: BBCodeの実施例
日時: 2009/01/18 18:32
名前: スガラボット ID:6vZFUAAM
参照: http://vmorita.com/bbs/patio/

●BBCodeの実施例
(この記事表現がBBCodeでどのように表記されているかは、この発言を単独で表示させて、この発言にレスをクリックすると返信投稿フォームの記事本文内に表示されます)

1. BBCode 太字
2. BBCode 斜字体
3. BBCode 下線
4. BBCode 抹消線
5. BBCode 色名で色付け
6. BBCode 色コードで色付け
7. BBCode; BBCode 文字のサイズ指定 (数字:1~7または-2~+4)
8. 水平線 (長さの指定 無し/有り)


9. 順序無し

10. 順序付き (数字の1またはa)

11. この掲示板のURLへのリンク
12. この投稿のアップロード画像1へのリンク
13. 引用
この文章がクォートされます。

14. 等幅フォントでコードを表示
  ¶
  八  
 || ▼ ▽
 || ⊥ ⊥
   ̄
等幅で表示される?
以上

1. Forum Patioのロゴ

-クリックすると元画像を表示-
No.2: Re: BBCode対応のv1.13mに小さなバグがありました。再度DLして下さい。
日時: 2009/01/19 11:57
名前: スガラボット ID:rPRakfHg
参照: http://vmorita.com/bbs/patio/

Forum Patio ファンの皆さん、こんにちは。

携帯電話からも閲覧可能なBBCode対応の新しいバージョン v1.13m/v1.13sを リリースしましたが、昨晩から今朝までの間に小さなバグが見つかってしまいました。これまでに3名さん程がダウンロードされていますが、再度このスレッドの親記事からダウンロードし直して頂けると助かります。対象はV1.13mだけです。リリース番号はそのままですがよろしくお願いします。

スガラボット
No.3: Re^2: BBCode対応のv1.13mに小さなバグがありました。再度DLして下さい。   [No.2への返信]
日時: 2009/02/16 03:49
名前: バボ ID:dfqk8Gbg

 初めましてこんにちは。
 現在Forum Patiov113asをテストさせていただいております。
 私の環境でも基本的に問題なく動いているのですが、BBCodeのurlリンクの動作について質問したい点があります。

 例えば(存在しないホストです)
 http://www.localhost/ABc123/inDex.htm
(ホスト名/cだけ小文字のディレクトリ/Dのみ大文字のファイル名)と言うサイトに、BBCodeのURLタグを利用して 無効なリンクとしてリンクを張ると
 ディレクトリの部分の「ABc123」や,ファイル名の「inDex.htm」が全て小文字になってリンクされてしまい、大文字と小文字を判別するApacheなどのサーバーでは404エラーを起こしてしまうのですが、これはバグなのかそれともディレクトリ名やファイル名まで含むURLリンクの記述は、本来のurlリンクの使い方にそぐわないのか、どちらと判断すればいいのでしょうか?
 普通にURLだけを書いた場合の自動リンクが問題なくリンクされるのが微妙な感じがしますが・・・

 なんだかすごくどうでもいい案件ですので、時間がある時にでも調べてやって下さい。
No.4: BBCodeでリンクするURLが小文字になる件   [No.3への返信]
日時: 2009/02/16 12:21
名前: スガラボット ID:izKEYCGU
参照: http://vmorita.com/bbs/patio/forum.shtml

バボ さん、こんにちは。スガラボットです。

>  http://www.localhost/ABc123/inDex.htm
> (ホスト名/cだけ小文字のディレクトリ/Dのみ大文字のファイル名)と言うサイトに、BBCodeのURLタグを利用して 無効なリンクとしてリンクを張ると
> :

そうですね。確かにリンクするURLを全部小文字に書き直してしまっています。実は参考にしたBBCodeからHTMLに変換するモジュールがこの様になっていたためそのまま踏襲したのですがあまりうまくないですね。IISなどマイクロソフト系のサーバOSではWindowsと同様にディレクトリ構造には大文字と小文字を区別しないので、そういう仕様になっていたようです。

W3Cでは大文字と小文字を区別する(case-sensitive)ことを推奨しているようですから、そのように修正すべきだと思います。read.cgiの1475行目は次のようになっていますが、
$s =~ s/\[url=((https?|ftp):\/\/[\w\!\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\=\?\@\~]*)\](.*?)\[\/url\]/\t<a href="\L$1\E" target="_blank">$3<\/a>/ig;

これを、
$s =~ s/\[url=((https?|ftp):\/\/[\w\!\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\=\?\@\~]*)\](.*?)\[\/url\]/\t<a href="$1" target="_blank">$3<\/a>/ig;

のように書き直して下さい。

この行は正規表現で置換をしているのですが、置き変わる文字列の <a href="\L$1\E" …のところで、URLを含んだ変数$1を"\L"と"\E"で挟んで小文字にしていたことが原因です。次の配布からはこの部分を修正したCGIをリリースします。なお、この掲示板のread.cgiは既に書き換え済みですからご確認下さい。確かに僕がリンクしたW3CのURLも大文字と小文字が含まれているようですからこの修正は必須ですね。

ご指摘有り難うございました。
スガラボット
No.5: Re: BBCodeでリンクするURLが小文字になる件   [No.4への返信]
日時: 2009/02/17 01:23
名前: バボ ID:MWtWOv2U

 スガラボットさま。
 素早いレスポンスと対応ありがとうございます。

 指定された正規表現のソースを変更した所、ご報告した不具合が回避できるようになりました。
 迅速かつ的確な対応に感謝いたします。

 私の環境に限った話ですが、IISのVer6とレンタルサーバーのCoreServerで当CGIが動作したことも併せてご報告しておきます。

 逆順に表示   スレッド一覧   新規スレッド作成