【HTML】StrictなHTMLのBBSを作ろう【Perl,PHP】 (465レス)
1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
120
(29): nobodyさん [sage] 04/11/29 22:44 ID:???
もう何がなにやら(;´Д`)

とりあえず>>68のやつを改造して作り始めてはいるんだがな。
サイズもちょうど良いくらいだし。
もっと改造に適したのがあれば教えてくれ。

…しかし絶対車輪の再開発だよなあ、これ…。
199
(3): 120 [sage] 04/11/30 20:02 ID:???
真面目にブロック要素扱うとかなり面倒くさいな…。
少しなめてたかも知れん(;´Д`)

質問。引用のマークアップについて。
最初は安易に「行ごとにqで括れば良いか」と思ってたんだが、
やっぱblockquote使って中身もきちんとマークアップすべきかな?

例を挙げると
----------------------------------------------
blockquote を使う場合
> 例えば以下のように
> > 引用記号が連続していた場合
> > ネストされた引用と見なすわけですが、
> 場合によっては
> ・リストが入ったり
> ・段落で区切られたりすることがあります
> 正直かなり面倒くさい…
----------------------------------------------
<p>blockquote を使う場合</p>
<blockquote><p>例えば以下のように</p>
<blockquote><p>引用記号が連続していた場合<br />
ネストされた引用と見なすわけですが、</p></blockquote>
<p>場合によっては</p>
<ul><li>リストが入ったり</li>
<li>段落で区切られたりすることがあります</li></ul>
<p>正直かなり面倒くさい…</p>
</blockquote>
----------------------------------------------
200: 120 [sage] 04/11/30 20:04 ID:???
ちなみにqの場合の例も
----------------------------------------------
q を使った一番安直なやり方
> 例えば以下のように
> > 引用記号が連続していた場合
> > ネストされた引用と見なすわけです
> 場合によっては
> ・リストが入ったり
> ・段落で区切られたりすることがありますが、
> この場合はほとんど無視されます
----------------------------------------------
<p>q を使った一番安直なやり方<br />
<q>例えば以下のように</q><br />
<q><q>引用記号が連続していた場合</q></q><br />
<q><q>ネストされた引用と見なすわけです</q></q><br />
<q>場合によっては</q><br />
<q>・リストが入ったり</q><br />
<q>・段落で区切られたりすることがあります</q><br />
<q>この場合はほとんど無視されます</q>
</p>
----------------------------------------------
やっぱこれじゃ許されないかな…?
202
(2): nobodyさん [sage] 04/11/30 21:40 ID:???
>>120
お前もバカだからやってるんだろうけど、
糞リプト公開して恥さらしになるのは勘弁な。

search.cpan.org: The CPAN Search Site
http://search.cpan.org/search?query=Wiki&mode=all

PEAR :: Package :: Text_Wiki
http://pear.php.net/package/Text_Wiki
204: 120 [sage] 04/11/30 22:45 ID:???
>>201
了解。まあ当たり前といえば当たり前の結果か…。
とはいえ目処は立ってるから、近いうちに動くものを見せられると思う。

>>202
始めに書いたが、馬鹿だという自覚はあるよ。ちなみに>>102も俺だ。
俺は単に、こういうわけの分からない議論の行方を見てみたいわけだ。
とにかく一つ動くモノを置いてみて、議論が実際の動作に直結するようになったとき
そのわけのわから無さがどう変質するか、あるいはしないか。それが見てみたい。
悪趣味な暇人なんだよ。

まあ糞リプトにならないよう努力はする。
205: 120 [sage] 04/11/30 22:46 ID:???
>>102じゃなくて>>101だ。
227
(2): 120 [sage] 04/12/01 19:58 ID:???
議論が盛り上がっているようで何より。とりあえず>>199は実装できた。

リストについてなんだが、今のところ
「連続しない・」で始まる行が2行以上連続する場合にリストと見なすよう実装している。
2行以上ってのは>>36みたいなケースに対処するためだが、
意外と1行のリストも有り得るかも知れないな…どうだろう。

リストのネストについては、正直あまり必要性を感じない。
>>224が言うように、ディレクトリ構成みたいな純粋なネスト構造は希だろう。
ほとんどの場合は複数のリストをフラットに並べれば表現できる気がする。

一応「何でも出来る」ような基礎は作っておくつもりなので、
そういう特殊用途にはその都度改造しておくれ、というのが作る側の本音だ。

>>211,223安易に「見た目」に繋げるのはどうかと思うが…
とりあえず連続する空行の数は数えられるようにしておく。
240
(2): 120 [sage] 04/12/02 22:15 ID:???
まだソースはまとめ切れていないんだが、
何かおかしな方向へ行っているし、とりあえず動くものを。
http://rain.s88.xrea.com/strictbbs/

純粋に変換を試してみたい人はここで。
http://rain.s88.xrea.com/strictbbs/clrea/parse.php

clreaに組み込んだサンプルはここ。
http://rain.s88.xrea.com/strictbbs/clrea/
242
(2): 120 [sage] 04/12/02 23:57 ID:???
>>241
thanks. 修正しておいた。
250
(1): 120 [sage] 04/12/03 20:17 ID:???
「StrictなHTMLを吐かせるために掲示板そのものを作り直す必要はない、作り直してはいけない」
というWebProg側の主張を”実演”したつもりなんだが、ちゃんと伝わっただろうか…。
この反応の薄さは成功したと見て良いのか…あるいは単に人が少ないだけか(笑。

>>243行頭の半角/全角空白はリスト判定時には無視するようにしてみた。
>>246リスト判定から外れれば空白も残るよ。
---------------------
・リスト。
・リスト。
・・・・テスト。
---------------------
<ul><li>リスト。</li><li>リスト。</li></ul><p> ・・・・テスト。</p>
---------------------

AAについては…まあよく考えておくれ。
251: 120 [sage] 04/12/03 20:19 ID:???
>>250
しまった、空白が消えてしまった…。
全角で書き直し。
---------------------
 ・リスト。
 ・リスト。
 ・・・・テスト。
---------------------
<ul><li>リスト。</li><li>リスト。</li></ul><p> ・・・・テスト。</p>
---------------------
254
(1): nobodyさん [sage] 04/12/04 11:57 ID:???
>120がんばって〜。
もし実用公開されたらサポート掲示板として使わせてもらうよ。
255
(3): nobodyさん [sage] 04/12/04 17:26 ID:???
>120ガンバ。

これでもリスト判定されるみたい。
------------------------
>>・テスト1
>・テスト2
------------------------
<blockquote><blockquote><ul><li>テスト1</li><li>テスト2</li></ul></blockquote></blockquote>
------------------------

<strong>や<em>は利用者にタグを書かせれば良いんでない?
260: 120 [sage] 04/12/04 23:51 ID:???
>>254-255応援ありがと。

http://rain.s88.xrea.com/strictbbs/
HTML変換部分のソースを切り出したり、色々変更。
>>255のも修正されたはず。

<em>や<strong>は…どうだろうな。
日本語としても適当な表記があれば良いんだが、
「」とかは用法が広すぎるし…。
261
(1): nobodyさん [sage] 04/12/05 02:34 ID:???
>120
「!」が使われてる部分を強調すると言うのはどうだろうか?
------------------------
テスト!
テスト,テスト!
テスト、テスト!
テスト。テスト!
テスト!テスト。
------------------------
<p>
<strong>テスト!</strong><br />
テスト,<strong>テスト!</strong><br />
テスト、<strong>テスト!</strong><br />
テスト。<strong>テスト!</strong><br />
<strong>テスト!</strong>テスト。
</p>
------------------------
でもこれだとAAを書く時問題が出そう…。
275
(4): 120 [sage] 04/12/07 21:59 ID:???
単純にちょっと忙しかった。ま、少し困ってるのも事実だが…。

とりあえず>>270、「選ぶ」ためには予め全部作っておく必要があることを忘れないでくれよ。
…実業務でも往々にしてある構図だな、これ(苦笑。

それとPRE(AA用のブロック?)とかって、結局どんな処理を期待してるの?
要するに改行をそのまま表示する(段落区切りと見なさない)ってこと?
それだけなら、まあそのまま素直に実装するけど…。

あと困ってると言ったのは、<em>とか<strong>とか置換する際の問題。
平たく言えば、書き手を信じて単純に置換すると
<strong><em></strong></em>こうなりかねない、ってこと。
完全に対処するためにはもう一段階解析を細かくしなくちゃいけないんだけど、
流石に面倒になってきた。適当な妥協策を探るか、覚悟を決めて書き直すか…。
281
(1): 120 [sage] 04/12/07 23:34 ID:???
PREという名称とAA用ブロックを混同するのがマズイ気がするな…。

>>276とりあえずAAを書く上での問題が連続スペース「だけ」なら、
現状でも特に問題はないはず。
デフォルトで空白は保持されるから。

一方で、普通PREという名称でイメージする領域、
つまり連続改行による段落区切りを無効にした領域が
別に必要なんですか?
もしくは強調などのインライン要素置換をも
無効にした領域(それをPREと呼ぶべきかは知らない)がご所望ですか?
と訊いたのが>>275

…ついでに
「重要度に関わらず、とりあえず選択式で」ってのは勘弁してくれ、とも言ってるわけだが(笑
284
(1): 120 [sage] 04/12/08 22:21 ID:???
「インライン要素置換をも無効にした領域」として<pre>を実装してみた。
http://rain.s88.xrea.com/strictbbs/clrea/parse.php
ソースはまだぐちゃぐちゃだが、動くことは動くはず。

<pre>と</pre>に囲まれた領域では、全ての改行が単純に<br />に置き換わる。
インライン要素置換は起こらない。勿論リスト引用等々も機能しない。
あとインライン要素置換のテスト用に<em>を実装しておいた。

作ってから気付いたけど、tag-map.iniで
preformatted=<pre>%CONTENTS%</pre>
となってるのを
preformatted=<pre><code>%CONTENTS%</code></pre>
にすればソースコード用に、
preformatted=<p>%CONTENTS%</p>
にすればAA用になるな、これ。
排他使用でも良いけど、どうせなら複数同時に使えれば平和になりそうな気がする。
285
(1): 120 [sage] 04/12/08 22:22 ID:???
>>283
それは設置時のオプションとして、ってことだよね?
確かに、<pre>を実装するとなると空白の扱いくらいは
設置者のポリシーとして設定できた方が良いかも知れないな。

ちなみに「空白を保持しない」ってのは
「連続する半角/全角空白を半角空白1つに置き換える」くらいの意味でOK?
292: 120 [sage] 04/12/13 21:02 ID:???
結構間が空いてしまったが、
http://rain.s88.xrea.com/strictbbs/clrea/parse.php
PRE系統のタグが複数同時に使用できるようになった。
デフォルトでは<pre>と<AA>が使用可能だが、カスタマイズも可能。
(方法については別途実験用のラウンジにでも詳述しておく)。

あと空白の扱いと<pre>系タグの使用許否も設定できるようになった。
/StrictBBS/config.php
内の定数で設定する。例えば
define('PRESERVE_WS', false);
にすれば、連続する全角/半角空白とタブは半角空白1つに置換される。

またこの設定は実際の変換時にダイナミックに変更することも出来る。
上URLで実演しているので試してみて欲しい。
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s