したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

htmltodatサポートスレッド

1</b><font color=#FF0000>(L44UP/ps)</font><b>:2002/11/30(土) 01:48
QA・要望等受け付けるかもしれない(?)スレッドです。
作者にスキルがないのでできないことが多いかとは思います。

518名無しさん:2008/03/19(水) 23:28:37
>>517
ありがとうございました。
無事変換できました。

519名無しさん:2008/03/20(木) 14:44:28
何度やってもエラーを吐かれてしまうのですが、
これを変換するにはどうしたらよいのでしょう?
よろしくお願いします。
http://rejec.net/~boc/log/1086253475.html

520 ◆/vmukiyuzw:2008/03/21(金) 01:33:22
>>519さん
正規表現:
m#<dt>([0-9]+).+?<b>(.+?)</b></font>(?:\[(.*?)\]) :(.*?)<dd>(.*)<br><br>#mik
変換結果式:
$2<>$3<>$4<>$5<> (←メール欄逆転)

これはDAT2HTMLにスキンをかぶせてHTML化したものかな?あんま自信はないですが。

しかし見た目は変わらないのに微妙に形式が異なるHTMLがいろいろあってなんだかなあと
ちょっと思ってしまいます。まあもともとそういうのに対応するために作ったソフトなんで
仕方ないかなというところはあるのですが。

あと、できればage書き込みはやめていただきたいです(板TOPにくると業者さんの無差別
書き込みに合う可能性が高いようなので)。ageなくとも専ブラでチェックしてますんで。

521名無しさん:2008/03/22(土) 17:35:44
>>520
ageてしまい申し訳ございませんでした。
無事変換できました。ありがとうございます。

こちらもお願いできませんでしょうか。
http://rejec.net/~boc/log/1084808536.html
どうやらmailtoに全角文字が入ってるところから表示がおかしくなっているようなのですが・・・。

522 ◆/vmukiyuzw:2008/03/23(日) 00:19:10
>>521さん
正規表現「DAT2HTML0.26」に少し問題がありました。
確かに仰るとおりmailtoに全角文字が入ってるとこがおかしくなるので
まさか正規表現エンジンのバグかと思い焦ったのですが・・・
よく見ると、DAT2HTMLの仕様なのか、mailto欄の長さにより日付欄の前の改行位置が
まちまちになり、その影響で半角スペースが余分に付加されてマッチしなくなってたようです。

m#<DT>(?:<A.*?>)?([0-9]+).+?(?:<A href="mailto:(.+?)">)?<B>(.*?)</B>(?:</A>|</FONT>) *?:(.*?)<DD>(.*)<BR><BR>#mik

「DAT2HTML0.26」から変えた部分は、日付欄にマッチさせる「:(.*?)<DD>」の前の
半角スペースに「*?」を足したとこです。
(今までの「DAT2HTML0.26」とも互換性はあると思います)

あと、ageの件はスレに強制sageというものが設定できることがわかり早速設定したので
今後は気にしなくていいです。
# て早速業者さん来てるし(笑

523名無しさん:2008/03/23(日) 02:15:28
>>522
全角が問題ではなかったんですね。
どうもありがとうございました。

524 ◆/vmukiyuzw:2008/03/23(日) 02:43:25
あー、勘違いだったかも
DAT2HTMLの仕様ではなく、DAT2HTMLでUPされたHTMLを
(多分)IEでダウンロードして、それを再度アップロードしたもののようです。
余分な半角スペースはIEダウンロードの時点で付加されたものかと。
まったく(何度も書いてますが)いらんことをしてくれるものですなぁ・・・。

525名無しさん:2008/03/31(月) 21:45:45
ttp://yb9-c25.hp.infoseek.co.jp/log/tamura6.html
ttp://yb9-c25.hp.infoseek.co.jp/log/tamura3.html
ttp://yb9-c25.hp.infoseek.co.jp/log/tamura4.html

上記スレを変換するにはどうしたらよいのでしょう?
よろしくお願いします。

526 ◆/vmukiyuzw:2008/04/01(火) 00:33:17
>>525さん

m#<DT>([0-9]+).+?(?:"mailto:(.+?)">)?<b>(.*?)</b>(?:</a>)?</font>.*?投稿日: ?(.*?)<DD>(.*)<BR><BR>#mik

これまたどうやってHTML化したものか独特な代物です。
形式自体はシンプルなので他の正規表現が流用できないかと思ったのですが
微妙に形式が合わず、結局別の正規表現を書いたほうが早かったです。

あと、これらのHTMLにはスレタイの情報がどこにもありません。
自力でdatに書き足すか、情報ファイルに書き足すかしてください。
(datに書き足すなら、スレ一行目の一番最後に書き足す)

527名無しさん:2008/04/01(火) 00:40:34
>>526
自分でも正規表現をかけると良いのですが、
どうも切り出し方がよくわからずにたよってしまいます。

ありがとうございました。

528名無しさん:2008/04/14(月) 21:16:59
http://www6.atpages.jp/puyopuyokaku/%83%8d%83O/%82Ղ%e6%82Ղ%e6%82Ƃ%a9%95`%82%ad12.html
このようなスレでは無理でしょうか?
よろしくお願いします。

Jane Doe Style 2.7.7.0
htmltodat 0.8.13

529名無しさん:2008/04/14(月) 21:25:04
http://www6.atpages.jp/puyopuyokaku/%83%8d%83O/%82?%e6%82?%e6%82?%a9%95`%82%ad12.html

こっちでした。すみません

530名無しさん:2008/04/14(月) 21:30:45
上手く表示されないようです。
何度もすみません。

http://www9.atwiki.jp/puyopuyokaku/pages/38.html

ここにある過去ログです。
よろしくお願いします。

531 ◆/vmukiyuzw:2008/04/15(火) 23:59:19
>>530さん
なぜか11スレ目だけ形式が違いますね。あとはこんなんでいけるかと

m#<a href="menu:.*?>([0-9]+).+?(?:"mailto:(.+?)">)?<b>(.+)</b>(?:</a>|</span>).*?<span class="date">(.*?)</span></div><div class="mes">(.*?)</div>#mik

11スレ目はなんかちょっと面倒そうなので考えます。

532 ◆/vmukiyuzw:2008/04/16(水) 23:11:53
11スレ目のみ
正規表現:
m#<dt.*?><a.*?><font.*?>([0-9]+).+?(?:"mailto:(.+?)">)?<b>(.*)</b>(?:</font>|</a>) ?:(.*?)<dd id.*?>(.*?)<br><br>(<a *?id.*?>|</dd>)#mi

後処理:
s#<A onmouseover.+>##gik

本文中にレスアンカーがあると<A onmouseover〜が入ってくるので
これを取り除くのに後処理が必要になりました。
(というか前処理でもいいはずなんですがうまくいかなくて手こずりました。
なぜうまくいかないのかわかりません・・・)

いずれにせよ、<!-- saved from〜>タグが2つもあったりして流浪の末に
できたHTMLなんだろうと。出所を解明する気にもなれないです。

533 ◆/vmukiyuzw:2008/04/16(水) 23:49:41
あー後処理間違えた〜

s#<A onmouseover.+?>##gik

ボケてました。失礼。

534 ◆/vmukiyuzw:2008/04/17(木) 02:30:11
前処理でも対処できる方法を見つけました

s#<A onmouseover(.|\n)+?>##gik

しかしなぜ.(ドット)は改行(\n)にマッチしてくれないのか
オプションのmを使ってもうまくいかないようだし

535 ◆/vmukiyuzw:2008/04/17(木) 02:56:11
さらに修正
s#<A( |\n)*?onmouseover(.|\n)+?>##gik

あと、<img 〜>(画像)があるんだけどどうしよう。
ブラウザによって扱いが違うだろうしとりあえず
放置しますか。

536 ◆/vmukiyuzw:2008/04/17(木) 23:12:23
>>530さんへのレスがなんかごちゃごちゃしてきたのでまとめると

・11スレ目以外は>>531で多分OK

・11スレ目のみ

前処理:
s#<A( |\n)*?onmouseover(.|\n)+?>##gik

正規表現:
m#<dt.*?><a.*?><font.*?>([0-9]+).+?(?:"mailto:(.+?)">)?<b>(.*)</b>(?:</font>|</a>) ?:(.*?)<dd id.*?>(.*?)<br><br>(<a *?id.*?>|</dd>)#mi

但し11スレ目には<img 〜>タグが存在するため使用する専ブラによっては
表示が変になる可能性あり

てなところで。

537名無しさん:2008/04/25(金) 03:13:39
ttp://www.42ch.net/UploaderSmall/source/1209059921.dat

上記のような形式のスレを変換させるにはどうすれば良いでしょうか?
試行錯誤してみたものの[]内が空白になってしまったりと上手くいきませんでしたorz

538 ◆/vmukiyuzw:2008/04/25(金) 20:05:09
>>537さん

正規表現:
m#<DT><A.+?>([0-9]+).+?<b>(.*)</b></FONT>\[(.*?)\].*?:(.*?)<DD> (.*)(:? <BR><BR>|<font)#mik
変換結果式:
$2<>$3<>$4<>$5<> (←「メール欄逆転」)

>>503-504の形式と似ているなあと思ったらやっぱりDAT2HTMLで変換したものでした。
>>504で書いた正規表現をちょっと修正して、かつ互換性が取れるようにしてみました。
これで同様のスキン適用のHTMLには使えるかも。

# スキン適用で変換したHTMLは、どのスキンを使用しているのか
# 例えばmetaタグとかで表記してくれていると個人的にはうれしいですな

539537:2008/04/26(土) 01:16:22
>>538
素早い対応ありがとうございました。
あと537のは変換書式を少し弄ってJane風にしているだけでスキンは適用していないそうです。

540名無しさん:2008/04/26(土) 21:54:49
>>536
わざわざ、ありがとうございます!助かりました!

541 ◆/vmukiyuzw:2008/04/26(土) 21:57:59
DAT2HTMLの最新版(0.35a)を落としてみましたが
変換書式の設定で
・メールアドレスを直接表示する(OpenJane方式)
・日付欄に「投稿日」の文字列を付加する
等のオプションがいつのまにか追加されてるようで
このへんを弄くると>>503とか>>537のようなHTMLになるようですね。

いずれにせよ大抵は>>538で対応可と思います。
(「メール欄逆転」が必須なのが多少うっとうしいですが)
イレギュラーなものが出てきたらまたその都度考えるしかないので・・・

542名無しさん:2008/05/01(木) 17:44:15
最新のregexps.txtまとめって無いのでしょうか?
このスレ読んでてもごちゃごちゃになってよくわかりません

543 ◆/vmukiyuzw:2008/05/01(木) 20:05:24
>>542さん
基本的に、regexps.txtには自分で必要なものを入れて使ってくださいというスタンスなので
おっしゃるような「まとめ」的なものは存在しないと思ってください。
そもそもデフォルトで添付してるものも「単なるサンプルです」とreadmeに明記してます。

regexps.txt自体は単なるデータなのでその内容は著作物の範囲外だという考えです。
実際私以外の方がこのスレに書き込んでくださっているケースがありますし。

544 ◆/vmukiyuzw:2008/06/05(木) 22:03:28
バージョンアップしました。(0.8.14)
 ・変換オプションに「透明あぼーんを補う」を追加。
 ・変換オプション「アンカー削除」で<a href〜>形式のタグしか削除してなかった
  のを<a 〜>全般を削除するよう修正。

「透明あぼーんを補う」は、dat変換中にレス番号の飛びを検出したときに
変換結果のdatに「透明あぼーんかも」という行を自動的に必要な数だけ生成します。
ただ、レス番号の飛びの検出は正規表現が正しくない場合にも起こり得るので
警告ウィンドウは以前同様出すようにしています。本当に透明あぼーんなのか
どうかはHTMLソースと正規表現を見比べて確認してください。
また、プレビュー欄には自動生成された行を表示するのはあまり意味がないと思った
ので表示していません。

「アンカー削除」については<a href〜>以外の形式もあるとのご指摘をうけ修正。
ただ、この処理はdat変換後に行っているので、前処理でaタグ関連の加工を行って
いる場合、完全にその代替にはならない場合がありますのでご容赦ください。

545名無しさん:2008/06/18(水) 03:47:52
http://www.geocities.jp/f4cq4/erg_story/log/1128496422.html
http://www.geocities.jp/f4cq4/erg_story/log/1141041553.html
http://www.geocities.jp/f4cq4/erg_story/log/1161458665.html
http://www.geocities.jp/f4cq4/erg_story/log/1168569791.html
http://www.geocities.jp/f4cq4/erg_story/log/1186203273.html

これらの正規表現がよくわかりません
よろしくお願いします

546名無しさん:2008/06/18(水) 16:18:27
ttp://ninjax.dreamhosters.com/hgame_hgame2/index.html
上記のサイトのログを変換するのに「なんだっけ…」が
一番まともに変換できたので、これを元に試行錯誤してみました
↓これで一応変換できたのですが、sageてないレスがうまく変換できません
m#<DT><A.*?>([0-9]+).+?(?:<A HREF="mailto:(.+?)">)?<B>(?:</B>)?(.*?)(?:</A>)?</B>.{6}(.*?)<DD>(.*)<BR><BR>#mi
できれば理屈も教えて頂ければと思います
よろしくお願い致します

547 ◆/vmukiyuzw:2008/06/18(水) 21:57:45
>>545さん
1番目と4番目にはhtmlの形式に見覚えがありました。
>>531と同じ正規表現でいけるかと。

2,3,5番目は見たことない形式でした。
ほぼ同じ形式なのですが細かいとこが微妙に異なり
一発のパターンでマッチさせるのにやや手こずりました。

m#<dt><INDEX/>(?:<a .*?>)?([0-9]+).+?(?:"mailto:(.+?)">)?<b>(.+)</b>(?:</a>|</font>)?</font>.*?:(?:<DATEONLY/>(?:<a .*?">)?<COLORINGID.+?>)?(.*?)(?:</a>)?</dt><dd>(.*?)<br><br></dd>#mik

なお2番目と3番目には「投稿日」の情報がそもそも含まれてませんので
dat変換しても表示させることは出来ません。

548 ◆/vmukiyuzw:2008/06/18(水) 23:26:56
>>546さん
まず、投稿日欄の前の.{6}が問題です。
sage(というかメール欄の有無)がある場合とない場合では、名前欄の後の</b>の後が
</a>になるか</font>になるか変わって来ますので、ここの文字数を固定するとまずいです。
推奨としては(?:</a>|</font>):
(</a>か</font>のどちらかがあってその後に:(全角セミコロン)がくるものにマッチ)
がよいのではないかと。

あと、名前欄の部分の<B>(?:</B>)? ですが、トリップありの名前にマッチさせようというのだと思いますが
トリップの前の</b>が消えてしまうと本当のトリップかどうか表示上わからなくなり困るのではと思います。
また、必ずしも名前欄の先頭からトリップが書かれるとは限りませんし。先にコテハンを書くような人もいるでしょう。
(この場合<b>コテハン</b>トリップ<b><b>みたいになると思います)
で、名前欄へのマッチパターンの推奨としてはシンプルに<b>(.*)</b> ←最長一致にする(*に?をつけない)のがミソ
# 実は単純に最長一致ではまずいケースもあるのですが説明長くなってしまうので省略

とこの辺まで書いてきてふと試してみると、あれ?既存の「DAT2HTML0.26」で変換できるような・・・
いやご自分で試行錯誤されたことは決して無駄にはならないと思いますが。

549名無しさん:2008/06/19(木) 00:05:04
>>547
ありがとうございました
残りはp2datやo2onなどを使用して補完したいと思います

550546:2008/06/19(木) 09:45:42
>>548
た、確かに「DAT2HTML0.26」で変換できました
て言うか「jbbs過去ログ」でもできるみたいです
確か、上から順番にやって「read.cgi7.00?」で「応答なし」になって強制終了
次に下からやって「DAT2HTML0.26その2」までやって「1行が長すぎるか...」になったので
あきらめてしまっていたようです
大変申し訳ありませんでした

551名無しさん:2008/06/20(金) 06:05:23
暇つぶし2ch(mobile.seisyun.net)の正規表現よろしくお願いします
したらば(www)m#<DT>(?:<a .+?>)?([0-9]+).+?(?:mailto:(.+?)>)?<B>(.*?(?:</b><font .*?)?</b>).*? (.*?)<BR>.+?<DD>(.*)<br><br>#mi
はそれっぽいのですが不完全でした

http://mobile.seisyun.net/cgi/read.cgi/namidame/namidame_news_1202561507

552663 ◆fnwcOWFi56:2008/06/20(金) 06:48:04
>>551さん
http://yy14.kakiko.com/test/read.cgi/mirror/1158402994/756n
でどうでしょうか。

ただ、今試してみると
名前の前に半角スペースが残っているみたいなので
気になる場合は正規表現を

m#<dt.*?>([0-9]+).+?<b> ?(.+?)</b>(?:</font>|</a>)(?: <small>mailto:(.+?)</small>)? <small>\[(.*?)\]</small><dd> ?(.*?)<br><br>(<dt.*?>|</dl>)#mi k

に変えてみてもいいかもです

553名無しさん:2008/06/20(金) 07:18:40
上手くいきました!ありがとうございます

今後、困ってる人が検索・抽出で見つけられる様にこちらにまとめますと
暇つぶし2ch(http://mobile.seisyun.net/)のdat化はこうですね

正規表現
m#<dt.*?>([0-9]+).+?<b> ?(.+?)</b>(?:</font>|</a>)(?: <small>mailto:(.+?)</small>)? <small>\[(.*?)\]</small><dd> ?(.*?)<br><br>(<dt.*?>|</dl>)#mi k
変換結果式
メール欄逆転

554 ◆/vmukiyuzw:2008/06/20(金) 20:33:08
# 皆様早起きですねえ

ところで、>>548

> で、名前欄へのマッチパターンの推奨としてはシンプルに<b>(.*)</b> ←最長一致にする(*に?をつけない)のがミソ

とか書いちゃったんですが、実際には自分が書いてる正規表現では
最短一致を使ってました。実はあまり意識してなかったんですが。

なんで最短一致でもうまくいくか考えてみると。
例えば「DAT2HTML0.26」だと、マッチさせるhtml側のパターンは

<b>名前</b></a>

もしくは

<b>名前</b></font>

のように、名前欄の後の</b>の後にさらにマッチさせるべき要素が存在します。
で、これに対する正規表現としては

<b>.*?</b>(?:</a>|</font>)

のようにすれば、たとえトリップ等で名前欄の途中に他の</b>があったとしても、
後続に</a>や</font>がないので読み飛ばされて、正しく意図した</b>にマッチしてくれる
ということのようです。

また、
・改行コードなしのベターっとしたhtmlの場合、最長一致だと破綻する
 (最近あまり見かけないですが、一時期のread.cgiがこういうhtmlを吐いていたんです。
 「read.cgi7.00?」の本文欄へのマッチが最短一致になっているのはそのためです)
・最長最短どちらでも適用可能な場合、処理コストは最短一致のほうが少ないはず
という考えもあります。

というわけで>>548での上記発言(最長一致を推奨)は撤回させてください。

555 ◆/vmukiyuzw:2008/06/20(金) 23:16:45
>>554
ちょっと間違えた

<b>.*?</b>(?:</a>|</font>)

<b>(.*?)</b>(?:</a>|</font>)

名前欄へのマッチの話をしてるんで普通はこうですわな

556名無しさん:2008/07/10(木) 14:16:13
すみません
Jane総合掲示板の外部コマンド Part7 (ttp://jane.s28.xrea.com/test/read.cgi/bbs/1212574864/)がNGワード設定のため書き込めず
またこちらのhtmltodatサポートスレッドに23ch.info用と明記されたレスが無いようなのでちょっと1レスお借りします

htmltodat 0.8.14の23ch.info変換
m#<dt.*?>([0-9]+).+?(?:"m☆ilto:(.+?)">)?<b>(.+?)</b>(?:</font>|</a>) ?:(.*?)<dd> ?(.*?)<br><br>(<dt.*?>|</dl>)#mi

557名無しさん:2008/07/10(木) 22:30:06
紙copiというスクラップソフトで2CHをスクラップ保存してhtml化したものをdatにしたいのですが
出来ますでしょうか?よろしくお願いします!
ファイルはここにあります
ttp://monkeyuploader.dyndns.org/Offering/mnkyup947.zip

558 ◆/vmukiyuzw:2008/07/11(金) 00:22:24
>>557
見たところレス番509の1レスだけのようですね。
私がこういうのもなんだかという気もしますが手で変換したほうが早いのではないか
と思います。

508までのdatをお持ちで、続きが欲しいということなら、どのみちエディタで
貼り合わせるしかないですし、このレスだけが欲しいということなら
そのレスがレス番1となるスレを作ることになります。

あと、正直言うと、1レスだけの変換だと、レス間を区切るセパレータとなるものが
何かわからないので、マッチする汎用的なパターンを読み取れないというのもあります。


ということで、願わくば自力で頑張って頂きたく。datの形式は

名前欄<>メール欄<>日時・ID欄<>本文<>スレタイ(※スレタイは基本的にはレス番1のみ)

正規表現を覚えるよりは簡単だと思いますが、エディタも使えないということなら
再度ご相談ください。

559名無しさん:2008/07/11(金) 00:44:43
>>558
レスありがとうございます
これはほんの一例です。紙copiで作った100レスぐらいのスクラップもたくさんあるので
同じ設定で全てdat変換できると思い、少な目のスクラップをupしたという経緯です。

エディタは使ったことがないです。メモ帳でも出来るのであれば試してみようと思いますが
どの様に何をすればいいのかもわかりません。
お願いできますでしょうか?
もしくはやり方を教えていただけないでしょうか?

560 ◆/vmukiyuzw:2008/07/11(金) 00:56:40
>>559
100レスもあるとメモ帳では手に負えないですね。

サンプルとして出していただけるのなら、レス数が多いほうが有難いのです。
(レスのバリエーションも多く含まれますし)

またupしていただければ調べます。

561名無しさん:2008/07/11(金) 21:13:12
ttp://monkeyuploader.dyndns.org/Offering/mnkyup955.zip
ちょっと順番が逆だったりごちゃ混ぜだったりするのもありました・・・

なんとか正規表現という技術でなんとかならないもででしょうか?

562 ◆/vmukiyuzw:2008/07/12(土) 22:28:34
>>561
うーむ、難しいですね〜

というのは、datファイルというのはその構造上、各レスに「レス番」という項目が
ついているわけではないので、改行で何レス目かを判別しているわけです。
(これをhtmltodat側から見ると、datに変換する時点でレス番に関する情報は失われる、
という意味でもあります)
これが普通のhtmlならちゃんとレス番順に並んでいるので問題になることはないのですが、
レス1から始まってなかったり、レス番が飛んでたり、ましてやレス番が逆転してるような
htmlをdatに変換しても、2ch専用ブラウザで見たときに正しいレス番で読むことは
基本的には難しいわけです。
htmltodatではレス番が飛んでるケースには一応対応しましたが、レス番逆転には
対応していません。(というかこれはどうしようもない気が・・・)

というわけで、正規表現以前の問題で、upして頂いたこれらのhtmlを(専ブラで一応読める
まっとうなdatという意味で)datに変換するのはhtmltodatの機能としては無理です。



・・・と突き放してしまうのもあんまりなので・・・
あくまで「レス番にはこだわらなくてもいい」という条件の上で書いてみます。
(これがないと専ブラで読むメリットが相当なくなる気がしますが・・・)

サンプルで上げて頂いたものの中でもバリエーションがあって一発の正規表現でとは
いきませんでした。よって以下のものでも通用しないケースもあると思います。


・とわ ◆MeBa4xL9X.〜
正規表現:
m#<STRONG>([0-9]+).+?:(.*?)\[(.*?)\].*?:(.+?)</STRONG>(.*?)(<STRONG>|<BR>TITLE:)#mik
変換結果式:
$2<>$3<>$4<>$5<> (←メール欄逆転)


・抜粋、輸送関係
正規表現:
m#<BR>(?:</P>)?([0-9]+) 名前(?::|:)(.*?)\[(.*?)\] 投稿日(?::|:)(.+?)<BR>(.*?)(<BR>([0-9]+) 名前(?::|:)|<BR>TITLE:)#mik
変換結果式:上と同じ(メール欄逆転)

563名無しさん:2008/07/13(日) 00:51:25
>>562
ありがとうございました!!
お手数お掛けしました。

dat作成してみたのですが、番号が1からの連番になってしまうのですね。
やはりどうしようもないみたいですね。

でも、いろいろと対策を考えていただいてありがとうございました!

564名無しさん:2008/07/14(月) 02:15:03
ふたば(双葉)☆ちゃんねる
http://www.2chan.net/
の文字板の正規表現がわからないので教えて頂けませんか?
tmp1〜tmp3が最もそれらしい動作をしたのですがエラーでした
スレ内検索はしたのですがもし過去レスに同内容の質問がありましたら申し訳ありません

ttp://www.2chan.net/test/read.cgi?bbs=ascii&key=1187933909

565 ◆/vmukiyuzw:2008/07/14(月) 23:16:26
>>564さん
ほとんど「read.cgi7.00?」と形式が同じでした。

m#<dt.*?>([0-9]+).+?(?:"mailto:(.+?) ?">)?<b>(.+?) ?</b>(?:</font>|</a>).*?:(.*?)<dd> ?(.*?)<br><br>(<dt.*?>|</dl>|<table)#mik

投稿日欄の前に「投稿日:」という文字列がついているので
.*?:(.*?)<dd>としてマッチさせるようにしました。
(他の正規表現ではこれにマッチさせるために直接「投稿日:」とか書いちゃってる
ものもあるのですが、多分こちらのほうが汎用的なんで)

あと最後1レスにマッチさせるために「|<table」を最後に足したのと
細かいとこですが名前欄やメール欄の不要な半角スペースを削除した
くらいです。多分これまでの「read.cgi7.00?」とも互換性は保たれてると思います。

566 ◆/vmukiyuzw:2008/07/15(火) 00:14:22
というかそもそもこれは2ch互換板なのでは?
過去ログ化されたものはわかりませんが、現役のスレなら
Janeとかなら外部板に登録すればそのまま読めるような気がします。

>>564のスレは現役スレには見当たりませんし過去ログ倉庫にも
ないようですしいったい何者?詳しい方教えてください。

567名無しさん:2008/07/15(火) 03:35:28
>>565-566
依頼者です。
ほとんど「read.cgi7.00?」だったそうですが、従来の物では全て×だったので助かりました。
ありがとうございます。

詳しい経緯は全くわからないのですが、いつものパターンだと、
1.スレ立て爆撃を喰らって強制dat落ち→dat落ち処理が追いついていない。
2.スレ立て爆撃を喰らって強制dat落ち→復旧処理が追いついていない。
3.運営さんが規約違反と判断した…が中途半端で放置。
4.鯖の不調(よくある)→人気の無い文字板に労力を割く時間は無い(よくある)→放置(よくある)。
(順不同)
あたりだと思います。
すみませんがここを読まれてるふたばに詳しい方、フォローお願いします。

568 ◆/vmukiyuzw:2008/07/16(水) 22:51:21
>>567
663 ◆fnwcOWFi56さんがご自分の板で補足してくださってます。

http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/34

> http://www.2chan.net/ascii/dat/1187933909.dat

でdatのまま取得できるようですね。
確かに、read.cgiで読んでいる以上、どっかにdatは存在していて
でも直接は読めない状況なのかなと思ってしまったのですが
直接読めるようですね。

ということでふたばでは>>564のようなケースではhtmltodatを介するよりも
URLを上のように変換してdatを取得したほうが楽かと思われます。

569663 ◆fnwcOWFi56:2008/08/01(金) 20:17:50
再び要望です。
長々と書いてしまいますごめんなさい


クラシックメニュー(http://c.2ch.net/)のスレッドは
dat落ちしても暫くは読めるようなので、これをdat化したいと思います。
で、色々考えてみました。

URL例
http://c.2ch.net/test/-.lcE-E0/gline/1165245437/1-
http://mirror.sarashi.com/htmltodat/1165245437.html

正規表現
m#<hr>(?:<form.+?>)?([0-9]+):(.+?) ((?:\d{2,4}|\d\d/\d\d).+?) +(?:\[(.+?)\] )?<br>(.+?) +(<hr>)#mik

前処理
s#(<hr>)#\n$1#igk
s#<a href="/test.+?/(.+?)\+(.+?)">2chカコ</a>#http://$1/test/read.cgi/$2#igk
s#<a href="/test.+?/(.+?)/(.+?)">2chスレ</a>#http://$server/test/read.cgi/$1/test/read.cgi/$2#igk
s#<a href=\d+(?:-\d+)?>&gt;>(\d+(?:-\d+)?)</a>#&gt;&gt;$1#igk
s#<form.+?>##ik
s#(<hr>\d+:)((?:\d\d\d\d/)?\d\d/\d\d\(.\))#$1$board $2#igk

$server
society6.2ch.net
$board
水先案名無い人

変換結果式
$2<>$4<>$3<>$5<>

後処理
s#((?:^|\n))(.*?)◆(.+?)<>#$1$2</b>◆$3<b><>#igk
s#((?:^|\n).+?<>.*?<>[^<>]+? )([^ ]{8,9}●?<>)#$1ID:$2#igk
s#((?:^|\n).+?<>.*?<>[^<>]+? )(\?\?\?.?<>)#$1ID:$2#igk



いちおうこれでdat化出来るような感じなのですが
これをやっていてhtmltodatに要望したい件がありました。


c.2chでのレスアンカーのソースを見ると

<a href=1>&gt;>1</a>
<a href=1-2>&gt;>1-2</a>

のように、「&gt;>xx」の形式で表示されているみたいで
それを「&gt;&gt;xx」にする為に前処理の4番目をつけてみたです。
これなのですが、>>30>>74>>78でおやりになられたように
htmltodatの内部で処理するようにして頂けないでしょうか。

「前処理で出来ているからいいじゃないか」と言われそうですが、
「『&gt;\d+』の『&』を半角に直して下さい」と注意書きするのは
何だかなと思ったもので。

よろしければ、御一考の程宜しくお願い致します。

570 ◆/vmukiyuzw:2008/08/02(土) 00:30:47
>>569
バージョンアップしました(0.8.15)
 ・本文中に「&gt;>x」(xは数字)の文字列があったら「&gt;&gt;x」に変換するよう
  修正。(&は実際は全て半角)

簡単だったので対応しました。
しかし半角アンパサントそのまま書けないのはめんどくさいですね。

571663 ◆fnwcOWFi56:2008/08/02(土) 19:34:55
>>570
ありがとうございます
早速追記したです
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/56

572 ◆/vmukiyuzw:2008/09/22(月) 22:07:53
バージョンアップしました(0.8.16)
 ・HTML取得の際のUser-Agentを Monazilla/1.00〜 に修正。

一部のサイトで問題が出ているようなのでとりあえず修正。
副作用があれば元に戻すかもしれません。

573名無しさん:2008/09/23(火) 21:38:20
過去ログ倉庫@BitTorrent情報局(仮)〜PC〜P2P関係 掲示板
http://jbbs.livedoor.jp/computer/31304/storage/
がdat変換できません 賢者様、正規表現を教えてください。

574 ◆/vmukiyuzw:2008/09/24(水) 00:22:36
>>573さん
正規表現「jbbs過去ログ」ていうのが使えるはずなんですがうまくいきませんでしたか?
変換できないURLを具体的に教えていだたけないかと。

575名無しさん:2008/09/24(水) 00:29:21
>>574
正規表現「jbbs過去ログ」では、変換できませんでした。URLは、
http://jbbs.livedoor.jp/computer/31304/storage/1217046767.html
http://jbbs.livedoor.jp/computer/31304/storage/1218871430.html
の2つです。よろしくお願いします。

576575:2008/09/24(水) 00:38:54
>>574さん
すみません変換できました「したらば(jbbs)」と勘違いしていました。
お騒がせしました。そして ありがとうございました。ど〜もです。

577 ◆/vmukiyuzw:2008/09/24(水) 00:47:19
>>575
おそらく、>>442-443で出ていた状況だと思います。
一応>>466で告知はしたんですがいちいち見てないかもですよね^^;
ということで>>443の正規表現に差し替えてみてください。

578575:2008/09/24(水) 00:53:18
>>577
今試してみましたが、>>443では変換できませんでした。
でも、情報ありがとうございます。

579 ◆/vmukiyuzw:2008/09/24(水) 00:53:46
なんてオチだ・・・
すべっちゃいました^^;

580575:2008/09/24(水) 01:11:21
>>579
いえいえ>>574のヒントが無ければ変換出来ませんでしたので 助かりましたど〜もです。

581名無しさん:2008/11/07(金) 07:07:15
ねとらぼ:2ちゃんねる型掲示板「megabbs」閉鎖 8年半、「無法化」のため - ITmedia News
ttp://www.itmedia.co.jp/news/articles/0811/05/news114.html

582名無しさん:2009/01/25(日) 08:46:14
うんかー(http://unkar.jp/)向けの正規表現を教えていただけませんか?
一通り付属の物を試したのですが×でした

対象アドレス
http://unkar.jp/read/dubai.2ch.net/ghard/1231972881

よろしくお願いします

583 ◆/vmukiyuzw:2009/02/04(水) 22:51:16
>>582さん

ちょっと遅くなってしまいましたが。

これは http://www.geocities.jp/mirrorhenkan/ で検索された結果ですよね?
であれば検索結果のとこにdat化の方法として
663さんの掲示板へのリンクが載っていたはずです。

もう気づいて解決されてるかなとも思うのですが。

584名無しさん:2009/04/25(土) 14:20:22
暇つぶし2ch(http://mobile.seisyun.net/)の正規表現を教えて下さい。

対象アドレス
http://mobile.seisyun.net/cgi/read.cgi/gimpo/gimpo_kaden_1218941409

↓の2つと、デフォルトで一覧に載っている正規表現はエラーでした。

【その1】 http://yy14.kakiko.com/test/read.cgi/mirror/1158402994/756
正規表現
m#<dt.*?>([0-9]+).+?<b>(.+?)</b>(?:</font>|</a>)(?: <small>mailto:(.+?)</small>)? <small>\[(.*?)\]</small><dd> ?(.*?)<br><br>(<dt.*?>|</dl>)#mi
変換結果式
メール欄逆転

【その2】 >>553
正規表現
m#<dt.*?>([0-9]+).+?<b> ?(.+?)</b>(?:</font>|</a>)(?: <small>mailto:(.+?)</small>)? <small>\[(.*?)\]</small><dd> ?(.*?)<br><br>(<dt.*?>|</dl>)#mi k
変換結果式
メール欄逆転

585 ◆/vmukiyuzw:2009/04/25(土) 20:45:53
>>584さん
こちらでは【その1】でも【その2】でも変換できたようなのでどこが問題なのだか・・・
とりあえずどんなエラーになるのか教えてください。
あと環境(OS、htmltodatのバージョン等)も。

586584:2009/04/26(日) 11:37:29
>>585
◆/vmukiyuzwさん
使用していたバージョンは最新のhtmltodat 0.8.16だったのですが、
0.86からの上書きバージョンアップをしていたもので、
自分で追加した正規表現とごっちゃになってしまいました。
私の単純なコピペミスだと思います。
フォルダごと削除し、新たに0.86をインストールをして
【その1】【その2】の両方を試しましたが問題無くdat保存が出来ました。
大変申し訳ありませんでした。

587名無しさん:2009/12/24(木) 05:55:43
ローグ系のRPG 過去ログ
http://hobbit.s41.xrea.com/kako/rogue/

ここの変換が上手く行きません
DAT2HTML0.26でいけそうな気がするのですが。。。
htmltodat Ver 0.8.16使用

588 ◆/vmukiyuzw:2009/12/24(木) 22:54:24
>>587さん
正規表現
m#<DT><A.+?>([0-9]+).+?<b>(.*)</b>(?:</span>)?\[(.*?)\].*?:(.*?)</dt><DD>(.*)</dd>#mik
変換結果式
$2<>$3<>$4<>$5<> (←メール欄逆転)

DAT2HTMLで変換したのは間違いなさそうだったんで>>504,>>538,>>541あたりを参考にしました。
ちょっとした違いですがDAT2HTMLのオプションの設定で違ってくるみたいです

589名無しさん:2009/12/25(金) 02:20:47
>>588
上手くいきました!
ありがとうございます。

590663 ◆fnwcOWFi56:2010/02/13(土) 13:44:58
お世話になっています。
早速ですが、自分の環境では下記URLがhtmltodat0.8.16では
「UTF-8 Unknown code」と出て読み込めないのですが
対処法はありますでしょうか。

http://2chlog.utf8art.com/archives/wmotenai_1232650438.html

591名無しさん:2010/02/14(日) 14:41:29
http://2ch.ac.la/
このサイトの正規表現の記述を教えてください

592名無しさん:2010/02/14(日) 14:42:04
ちなみにほしいログは
ttp://2ch.ac.la/read.php/comic/1189697654/
です

593 ◆/vmukiyuzw:2010/02/15(月) 19:07:30
>>590さん
(SJISに変換するため)UTF-8として正しいコードかチェックしてるんですが
そこのチェックに引っかかっちゃってる状態です。
別の手段でソースを見てみると一部のHTMLコメントがSJISで記述されており
これが引っかかってるようです。

さて、対応としては、読み込めないのはまずいので無理やりでも読み込めるように
しないといけない(不正なコードを何かに置き換える等)と思うのですが
該当部分のプログラムはネットで検索して見つかったものをそのままコピペしたもので
どう修正すればいいのかまだよくわかっていない状態ですので、研究含めて
多少時間がかかってしまうと思います。

お急ぎでしたら、firefoxで該当スレを表示させてソースを表示させると
SJIS変換された状態で表示してくれるので、HTMLソース欄へのコピペ等で
当面対処していただけないでしょうか。

594 ◆/vmukiyuzw:2010/02/15(月) 19:12:02
>>591さん

正規表現
m#<font color="\#0000FF">([0-9]+).+?<b>(.+?)</b></font>(?:&nbsp;\[(.*?)\])?&nbsp;投稿日:(.+?)<div class="plain">(.*?)</div><br />#mik

前処理
s#(<title.*?)@2ch大学: 過去ログ倉庫(</title>)#$1$2#ik
s#<script (.|\n|\r)*?</script>##igk
s#<noscript>(.|\n|\r)*?</noscript>##igk
s#<div style=.+?>\r\n##igk
s#<!-- Rakuten .+?>\r\n##igk
s#<img.*?>##igk
s#<a</a>.*?>##igk
s#<div class="center"><iframe .*?</iframe></div>##igk

変換結果式
$2<>$3<>$4<>$5<>(←メール欄逆転)

本文途中にバナー広告が入り込んじゃってるのを見落としてしまうところでした。
あと、HTML化の際のバグ?なのか、アンカータグがおかしなところがあってこれも
危うく見落としかけました(htmltodatとしてそこまでフォローすべきなのかと
一瞬考えてしまいましたが)。

595名無しさん:2010/02/15(月) 19:38:50
>>594
ありがとうございます

すみませんが
一行が長すぎるせいか、正規表現が正しくないようです
とエラーが出て使えません

お願いします

596 ◆/vmukiyuzw:2010/02/15(月) 20:02:16
あああそうかnbspがコピペの段階で消えてしまうのか

正規表現
m#<font color="\#0000FF">([0-9]+).+?<b>(.+?)</b></font>(?:&nbsp;\[(.*?)\])?&nbsp;投稿日:(.+?)<div class="plain">(.*?)</div><br />#mi

2箇所あるnbsp;の前の&を半角に変えてからやってみてください。

597663 ◆fnwcOWFi56:2010/02/15(月) 20:51:36
>>593
了解しました。
気長にお待ちしております。

598名無しさん:2010/02/15(月) 21:10:01
>>596
ありがとうございました
感謝です

599 ◆/vmukiyuzw:2010/02/16(火) 19:20:39
バージョンアップしました(0.8.17)
 ・文字コードUTF-8のHTMLに不正なUTF-8コードが含まれていた際エラーにしていた
  のをエラーにならないよう修正。

>>593を受けての修正です。
単にエラーチェックを外しただけなのですが
不正なコードはSJIS変換の際に単に「???」と化けるだけで
とりあえず大きな問題ではなさそうなのでこれで済ませることにしました。

600名無しさん:2010/02/16(火) 20:57:15
乙です

601663 ◆fnwcOWFi56:2010/02/17(水) 19:47:49
更新ありがとうございます
読み込めるようになりました。

602 ◆/vmukiyuzw:2010/04/03(土) 03:13:22
>>http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/461

htmltodatでは本文(通常は$5)中のアンカータグ(<a 〜>、</a>)をデフォルトで削除するようにしているのですが
以前、どこかのサイトでメール欄が$2と$3のどちらにもありえるサイトがあり、それに対応しようとすると
$5でなく$6が本文になってしまうため、$6のアンカータグも削除するように今はなっています。
よって最初にお書きになった正規表現の$6のアンカータグが内部的に削除されうまくいかなかったようです。

もう少し経緯を調べてみますが、修正した場合の副作用がまだ不明なので、現時点では$6内のアンカータグは
次のマッチには引き継がれない、ということにさせてください。

603 ◆/vmukiyuzw:2010/04/04(日) 00:26:23
ログを遡っていくと「どこかのサイト」って因縁の(?)にくちゃんねるでした。
v0.4.0のとき(>>209-210あたり参照)に修正したようです。もう5年も前なんですね。

604 ◆/vmukiyuzw:2010/06/20(日) 12:58:11
バージョンアップしました(0.8.18)
 ・文字コード自動判別のロジックを若干見直し。
  文字コードUTF-8のHTMLをSJISと判定してしまう不具合に対応した(つもり)。

ぱっと見は明らかにUTF-8なのに、バイトの範囲と組み合わせをチェックすると
SJISにも当てはまってしまう場合があります。

今までは、「どの文字コードの可能性が最も高いか」判定するために、HTML全文を
「SJIS」「EUC」「UTF-8」それぞれの規則で読んでみて、当てはまる文字の数を調べ
一番多く登場するコードを候補として選択するロジックになっていました。
ただ、文字数で判定すると1文字に3バイト使うUTF-8が若干不利となりSJISと誤判定
される原因となりえます。
そこで、文字数でなくバイト数で判定するよう変更してみました。

605 ◆/vmukiyuzw:2010/07/10(土) 23:53:19
>>http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/575
> それと、htmltodatに限った事ではないかもしれないですが
> 「〜」のUTF-8→Shift_Jis変換がうまくいってないような。

昔Javaやってた頃にこれに悩まされたものです。Delphiでも出るのか・・・
「Shift-Jis」と単に呼ぶ場合と「CP932」と言われるもののの違いに起因する
問題だと思います。(「〜」等はCP932でないと変換できない)

変換の方法として、自分の知る限りでは以下の2通りがあります。

A.Delphiネイティブの機能でUTF-8→SJIS変換する
 (実際には直接の変換はできないので途中Unicodeへの変換を経由する。
 これは関数等は用意されてないのでビット演算で自力で地道に変換する)

B.UTF-8をSJISに変換する関数(内部的にはWindows APIをコールしている)
 を利用する

どうみてもBの方法が簡単そうなのですが、Windows95以前では該当のAPIが
用意されていないということなので、htmltodatではAの方法を使っていました。
が、これはCP932への変換は対応してないようですね。

もう少し調べてみますがBの方法に変更を検討してみます。
Win95で使ってる人とかさすがにいないですよね・・・。

606名無しさん:2010/07/16(金) 05:57:58
http://www.unkar.org/
こちらのサイト用の正規表現を教えていただけないでしょうか?

http://yy14.kakiko.com/test/read.cgi/mirror/1014655362/876
こちらの正規表現を使用したのですが、仕様が変わったのか上手くいきませんでした

dat化したいスレはこれです
http://www.unkar.org/read/academy6.2ch.net/whis/1263893134

よろしくお願いします。

607 ◆/vmukiyuzw:2010/07/16(金) 18:52:31
>>606
もう見られたかもしれませんが 663 ◆fnwcOWFi56 さんがご回答くださっているので
そちらをご参照ください。

http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/581

608名無しさん:2010/07/23(金) 03:18:45
ありがとうございました
無事変換できました

609名無しさん:2010/09/14(火) 20:03:49


610名無しさん:2010/10/15(金) 16:19:02
ご存知かも知れませんが…

インフォシーク iswebライト 終了のお知らせ - インフォシーク ユーザサポートからのお知らせ - 楽天ブログ(Blog)
http://plaza.rakuten.co.jp/usersupport/diary/201008250000/

611 ◆/vmukiyuzw:2010/10/15(金) 20:50:47
>>610さん他
ご心配おかけしていたようで申し訳ありません。
とりあえずお引越ししました。

引越し先:http://mukiyu.g.ribbon.to/

結構やっつけ作業になってしまったので引越し先で何か問題が出るかもしれません。
そのときはここでご連絡ください。

612名無しさん:2010/10/15(金) 23:36:25
>>611
乙です

613 ◆/vmukiyuzw:2010/12/05(日) 01:37:18
>>605
これに関して今日試してみたのですが(←遅い)、うまくいきませんでした。
やっぱり「〜」は「?」に化けてしまいます。

ぐぐって調べてみたのですが(←これも遅い)、思ったより根の深い問題のようで・・・

「CP932」(コードページ932)をプログラム中で指定する方法が何かあるはず、と
たかをくくっていたのですが、検索してみると
「Delphi2009ではストリング型にコードページが指定できるようになりました」
な記事が・・・てことは私が使ってるDel6pesonalでは指定することはできないんじゃね?

・・・

なにか対応策はないのかまだ調べてみますが最悪どうしようもなければ
放置するかもしれません。

614名無しさん:2010/12/28(火) 12:54:45
readme.txtにある$1〜$5は正規表現中のどこを指しているのですか?
いったいどうやって$1〜$5を取得しているのかreadmeを読んでもさっぱり分かりません。

615 ◆/vmukiyuzw:2010/12/28(火) 20:44:50
>>614さん
簡単に言うと、カッコでくくられた部分が順番に$1〜の番号が振られます。
但し、「(?:」で始まるものは番号が振られません。
具体的には、regexps.txtにある「DAT2HTML0.26」を例にとって説明すると

m#<DT>(?:<A.*?>)?([0-9]+).+?(?:<A HREF="mailto:(.+?)">)?<b>(.*?)</B>(?:</A>|</FONT>) ?:(.*?)<DD>(.*)<BR><BR>#mik

・最初のカッコ(?:<A.*?>) → <DT>の直後にある<A 〜>にマッチ。これはグループ化したいためだけのカッコであり、番号を
振りたくないので(?:で始まります
・2番目のカッコ([0-9]+) → その直後にある数字の一回以上の繰り返し(レス番号)にマッチ、これが$1になります
・3番目のカッコ(?:<A HREF="mailto: → これも最初のカッコと同じ理由で(?:なので番号は振られません
・4番目のカッコ(.+?) → カッコが入れ子になってて若干分かりにくいかもしれませんがメール欄にマッチ、これが$2になります
(3番目のカッコの中なので実際には何にもマッチしない場合があるのですがその場合$2は空となります)
・5番目のカッコ(.*?) → <b>と</B>の間にあるので名前欄にマッチ、これが$3になります
・6番目のカッコ(?:</A>|</FONT>) → 名前欄のあとに</A>または</FONT>が来る、ここはメール欄が空かどうかによって
変わってくるのでor表現を使っています。or表現にしたいためだけのカッコなので(?:にして番号を振りません
・7番目のカッコ(.*?) → その後の:の次に投稿日・IDがくるのでそれにマッチ、これが$4になります
・8番目のカッコ(.*) → <DD>と<BR><BR>の間にあるものが本文でそれにマッチ、これが$5になります

うわいざ文章で説明するとなると難しい〜^^;
実際のHTMLと見比べながらだともっと分かりやすいかもしれません。

# 正規表現自体について書き出すとreadme程度では書ききれませんし
# ネット上にいくらでも解説があるので省略したのですが

616 ◆/vmukiyuzw:2010/12/28(火) 22:28:21
補足というか蛇足に近いですけど一つだけ。

5番目のカッコ <b>(.*?)</B> の部分ですが、実は名前欄の中にはトリップ等で細字で表現するため
最後以外に</B>が登場する場合があり、例えば私の名前なんかだと

<b></b> ◆/vmukiyuzw<b></b>

となるんで、.*?の最短一致だと空になっちゃいそうに見えます。
でもそうならないのは、</B>の後ろに(?:</A>|</FONT>)を付けているおかげで、</B></A> または
</B></FONT> の並びになるまでマッチしないという、まあちょっとした小技?です。
他人の書いた正規表現なんてなかなか解読する気にならないでしょうが、参考のひとつになれば。

617名無しさん:2010/12/29(水) 12:53:30
ありがとうございます。やっとなんとか理解できました。
mimizun.comに対応するテキトーな正規表現を書いてみましたので一応載せておきます。

m#<DT>([0-9]+).+?<font.*?><B>(?:<A HREF="mailto:(.+?)">)?(.*?)(?:</a>)?(?:</b></font>):(.*?)<DD>(.*)<BR><BR>#mi


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板