記事No | : 464 |
投稿日 | : 2007/05/05(Sat) 23:29:03 |
タイトル | : WebForumの強制改行の仕様 |
ID情報 | : toshiki |
投稿者 | : としき |
URL | : http://www.hinocatv.ne.jp/~toshiki/bbs.html |
ども、こんにちは。
こちらのサポートフォーラムに書き込むのは数年ぶりのことだと
思います。サイトのトップページに
> ・ご意見・ご感想・リクエスト等のメールは歓迎いたします。
とあったので KENT さんに直メールしたところ、この手の話は
こちらに書き込んでほしいという事でしたので書かせていただ
きます。
標記についてなんですが、v4.5 のころは、&decode の中身は
こんなルーチンになっていました。
(1)強制改行が指定されている場合は、fold.pl で強制改行実施
→改行実施後は各行末に <br> タグをつける
(2)次に、投稿メッセージ本文の改行符号を、全て<br>タグに変換
しかし、v4.52 では、以下のようなルーチンになっています。
(1)投稿メッセージ本文の改行符号を、全て <br> タグに変換
(2)次いで、fold.pl で強制改行実施
→改行実施後は各行末に <br> タグをつける
この結果、不具合が混入したようです。
それは、<br> タグの途中で強制改行が行われてしまう可能性が
出てきてしまったことで、これは v4.8 で修正が行われました。
結果、次のようなルーチンになっています。
(1)投稿メッセージ内の改行符号を全て \t に変換
(2)次いで、fold.pl で強制改行実施
→改行実施後は各行末に \t をつける
(3)メッセージ本文内の \t を <br> タグに変換
これは現在の v5.02 にも引き継がれております。
さて、v4.8 での改修の結果、メッセージ本文内に \t を含める
ことができなくなったという副作用がありますが、そもそもこの
コードはあまり含まれる事がないので大した問題ではないと思い
ます。表計算ソフトからブラウザに複数セルを貼りつけると、
このコードが含まれてしまうことがあるようなので、そういう
使い方をする人だと問題かもしれませんが。
あと、v4.5 までのルーチンとそれ以降のルーチンで、もう一つ、
非常に大きく異なる部分があります。WebForum に同梱されている
バージョンの fold.pl では、指定した長さに満たない文字数で
改行符号が出てくると、そこまでを改行済として返してくれるの
ですが、\t は改行符号とはみなさず、長い1行として強制改行
が行われてしまうのです。
例えば10桁で強制改行すると指定した場合で、1行目が5桁、
2行目が15桁の書き込みがあったとします。つまり、書き込み
を行う側のブラウザでは、以下のような形で投稿ボタンを押すと
します。
+-----------------------
|12345
|123456789012345
|
|
+-----------------------
wforum.cgi が受け取るデータは、以下のような感じになるはず
です。
12345\n123456789012345\n
v4.5 では、内部で以下のようになります。
(1)後
12345\n1234567890<br>12345\n
(2)後
12345<br>1234567890<br>12345<br>
ところが、v4.8 以降では、内部で以下のようになります。
(1)後
12345\t123456789012345\t
(2)後
12345\t1234\t5678901234\t5\t
(3)後
12345<br>1234<br>5678901234<br>5<br>
さて、KENT さんにお願いしたいのは、この強制改行のロジックを
v4.5 までのものに戻してはいただけないか、ということです。
もしかしたら fold.pl のバージョンに依存する問題なのかもしれ
ないのですが、それであれば fold.pl の対応するバージョンの
配布をお願いしたい、ということでもあります。
以上、なにとぞご検討方よろしくお願いいたします。