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

htmltodatサポートスレッド

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

245 ◆/vmukiyuzw:2005/11/28(月) 00:18:35
あと、663さんにはトリップをつけていただけるとありがたいなと思います。
(って、このスレが663に達するにはあと何年かかるかわかりませんがw)

246 ◆/vmukiyuzw:2005/11/28(月) 21:22:29
>>244
>  (このときは秒がないとか皇紀とかはお構いなし)
にちょっと補足です。
年月日の前に余分なものが付いていれば・・・等という判定は可能だと思います。
でも、datのファイル名が9〜10桁の数字でないとうまくいかないブラウザもある
ようなので、たとえ元々のキーNoとは食い違うことになっても、9〜10桁の数字に
変換できるものならばしておいたほうがいいんじゃないだろうか、という考えです。

247663:2005/11/28(月) 22:01:40
御返事ありがとうございます。
検討して頂けるとの由、大変有り難いです。

はっきり確かめていないので何ですが、
西暦が二桁のスレもあったかもしれません。

あと、イレギュラーな暦表示ですが
例えば「えまのん」という専用ブラウザでは
Calender.txtとい外部ファイルに対応歴一覧が書いてあって
それで管理しているようでした。

今 Calender.txt を見てみたら

> 皇紀=660
> 娘。暦=3
> 娘。歴=-7

とあり、想像するに
・皇紀から660を引いた数が西暦(西暦1940年=皇紀2600年)
・娘。板が出来てから3年(「暦」)
・娘。が結成されてから7年(「歴」)
という事なのかなー、と。

それが内部処理とどう繋がっているのか判りませんが。。


# トリップ、暫く考えてみます

248 ◆/vmukiyuzw:2005/11/28(月) 22:12:21
>>247
西暦二桁は想定の範囲内なので問題ないです。
皇紀等は、全てのバリエーションが出ているか不明ですし、今後また
同様のイタズラ(?)される可能性もあるのでとりあえず無視の方向で。

249 ◆/vmukiyuzw:2005/12/01(木) 20:43:59
なんかぐぐったらたまたま見つけました。
http://qa.2ch.net/test/read.cgi/argue/1112282670/
やっぱかなりのバリエーションがあるようですね。
# 「ユダヤ暦って6000年近くあるのかよ」という書き込みを見て
# 試しに今テスト中のモジュールで6000年を変換すると
# スレッドキーが12桁になったw

250 ◆/vmukiyuzw:2005/12/08(木) 22:19:31
バージョンアップしました。(0.7.3)
・dat保存時のファイル名を決める際に、URLまたはファイル名に9〜10桁の数字が
 含まれない場合、変換結果のレス1の投稿日時よりファイル名を取得するよう
 修正。
 また、一括変換時にはこの機能を使用するかどうか選択できるようチェック
 ボックスを追加。
・一括変換での文字コード指定をチェックボックスからコンボボックスに変更。
・BREGEXP.DLLを同封するようにした。

>>243- からの流れを受けての修正です。
readmeにもちょっと書いてますが秒がないとか西暦でないとかは考慮してません。
(変なものは無条件で2005年にするという手もあるかなとも思ったんですが・・・
どうせ今後また同様のイタズラ(?)があるような気がするので無視です)

あと、最初のインストールが簡単になるよう、BREGEXP.DLLを配付ファイルに
同封するようにしました。アップデートの際にはあまり関係ありませんが。

251663 ◆red7kKzN/E:2005/12/09(金) 18:48:54
# 暫定トリップつけてみました

>>250
ありがとうございます。
DLしてsample.htmlを変換保存しようとしたら
9桁の数字が出てびっくりしました。
まとめサイトの一括変換に使ってみようと思います。

で、別の要望(というか独り言)なのですが・・

下窓にdat変換されたものが出ますよね。
そこを編集して保存しようとしても、書き換えたものが反映されないみたいなのですが
反映して保存出来るようにはならないものでしょうか?

具体例を出すと、例えば
http://hobby7.2ch.net/test/read.cgi/phs/1117976461/
のスレですが
ミラーサイトが
http://mimizun.com/cgi/dattohtml.pl?http://mimizun.com:81/log/2ch/phs/hobby7.2ch.net/phs/kako/1117/11179/1117976461.dat
で見つかります。
最後の1レスが拾えてないので、その分だけ手打ちで追加出来たら嬉しいな、と。
保存してからエディタで追加するよりは一手間省けますし。
(もちろん上の場合はdatを直接DL出来ますが)

または「変換オプション」の後処理で何とかなるでしょうか。
上のだと

s#$#n\停止しました。。。<>停止<>停止<>真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ#

とかするとか・・。(試してないのでこれでいいのかどうか判りませんが

252 ◆/vmukiyuzw:2005/12/09(金) 20:47:46
>>251
> DLしてsample.htmlを変換保存しようとしたら
> 9桁の数字が出てびっくりしました。
981726540.datとなったと思います。
sample.htmlの本来のスレッドキーは981726544なので、レス1に秒が無いぶんだけずれてます。
まあこういう仕様ですということで・・・

> 下窓にdat変換されたものが出ますよね。
> そこを編集して保存しようとしても、書き換えたものが反映されないみたいなのですが
> 反映して保存出来るようにはならないものでしょうか?
確かに、HTMLソース欄の編集は反映されるのに、dat欄の編集が反映されないのは
手抜きですわな^^;
まあ簡単に対応できると思うのでやります。
(と言いつつ最後の改行の有無とかの処理が意外と面倒な予感がする・・・)

> または「変換オプション」の後処理で何とかなるでしょうか。
> 上のだと
> s#$#n\停止しました。。。<>停止<>停止<>真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ#
> とかするとか・・。(試してないのでこれでいいのかどうか判りませんが
後処理は変換結果の行単位に処理するようにしているのでこの方法では対処できないはずです。

253 ◆/vmukiyuzw:2005/12/10(土) 00:06:32
>>252
> まあ簡単に対応できると思うのでやります。
思った以上に簡単でした(ソースに一行追加しただけ^^;

> (と言いつつ最後の改行の有無とかの処理が意外と面倒な予感がする・・・)
これは特に気にしなくてもdelphiのほうでうまく処理してくれました。
ただ、余分な改行があったりするとブラウザで読んだときに「ここ壊れてます」に
なりますが・・・これは自己責任ということで放置して問題ないと思います。

今日はもう遅いのでUPは明日ということで・・・・

254 ◆/vmukiyuzw:2005/12/10(土) 21:29:43
バージョンアップしました。(0.7.4)
・dat変換結果欄を直接編集しても保存する際に反映されなかったのを、反映する
 よう修正。

直接編集する際には当然、datファイルの形式
名前・トリップ<>メール欄<>投稿日時・ID<>レス内容<>スレタイトル(1レス目のみ)
に従っていないと2ch用ブラウザでは正しく読めないのでご注意ください。

255名無しさん:2005/12/11(日) 01:32:48
大変ありがたく使わせて戴いております。

要望なのですが、
subject.txtを作成する時、保存先のフォルダとして
あらかじめデフォルトとして指定したフォルダか、
前回使用したフォルダが開くようになるかするともっと便利だなと思います

もし気が向いたらご考慮いただければと思います。

256 ◆/vmukiyuzw:2005/12/11(日) 02:04:38
>>255さん
うーむ、「前回保存した」云々を再現するには,iniファイルとか使えばいいんでしょうが
あまりやりたくはないのです。何故かというと、同時にその他のもろもろも保存しなくては
いけない羽目に陥るのがわかっているので、面倒だからできれば避けたいってことでw

で、subject.txtの作成フォルダを固定したい理由はなんでしょう?
subject.txt作成の用途の意図は>>237に書いたんですが・・・それ以外に何か
あるんでしょうか?

# まあ、フォルダ選択のダイアログを出すくらいでよければ簡単なんでやりますけど。

257663 ◆red7kKzN/E:2005/12/11(日) 14:37:50
バージョンアップありがとうございます。
下窓編集が反映されました。

えーと
これは私的な要望なんで、難しかったりしたらそのままで良いのですが、

自分の環境ではhttp://2ch.dumper.jp/がunknownhostで繋がらない事が多いです。
そこにしか満足なログが残っていない場合が結構あるのですが
その場合、いったんプロキシを用いてDLしてローカル呼び出しで変換しているのですが
htmltodatにプロキシ機能があれば
一段階 手間が省けるかな…と。

難しかったり、時間かかるようであれば無理は言わないので
良ければ御一考頂ければ有り難いです。。

258名無しさん:2005/12/11(日) 14:46:11
個人的にはsubject.txt作成時のフォルダ選択時に
フォルダをドロップ&ドロップが使えるようになればと思う。

html変換のときは出来るのに。

259 ◆/vmukiyuzw:2005/12/11(日) 20:25:36
>>257
プロキシの設定自体はプログラム的には案外簡単だったりします。
(実は今でもプロキシ設定のコードはソース中には入っていて、コメントアウトしてます)
問題はUIをどうするかですかね。
やっぱJaneの書き込みウィンドウとかProxomitronみたいにリストから選択できるように
しないといけないかなとか、そうなるとまた別途Proxy.txtみたいな設定ファイルがいるなあ
とかやりだすと、それなりの修正になってしまうわけです。
(テキストボックス一個置いて勝手に入力しろ、だと今晩中にでもできてしまいそうですが)
まあ期待せずにお待ちを。

>>258さん
これもさして難しくはないですが、subject.txt作成でできるのなら一括変換でもできないと
また手抜きと思われるだろうなと。
で、一括変換にはフォルダ指定欄が2つあるので、D&Dされた際にどっちに入れるように
したらいいんだ?というところが悩みどころで。

260名無しさん:2005/12/13(火) 13:02:27
質問です。
http://jbbs.livedoor.jp/bbs/read.cgi/otaku/995/1106468716/
上のスレッドをJaneで見たくてhtmltodatを使ったのですが、
アドレスを入力してHTML取得をした時点で文字化けしています。
どうしたらいいですか?

261 ◆/vmukiyuzw:2005/12/13(火) 17:36:33
>>260さん
「文字コード自動判別」をOFFにして、取得後「EUC->SJIS」ボタンを押して変換して下さい。

# メモ・・・JBBSの過去ログではmetaタグでcharsetが指定されない場合があるようだ・・・
# しかもMIMEヘッダで指定されているわけでもない・・・さてどうしたものか。

262260:2005/12/13(火) 17:47:00
>>261
できました、ありがとうございました!

263 ◆/vmukiyuzw:2005/12/13(火) 19:17:28
charsetが指定されていなくて文字化けする場合の文字コードの見分け方:
無意味な半角カナが多く含まれる→多分EUC
「縺ヲ繧ケ繝ャ繧偵」みたいな難読な漢字が羅列される→多分UTF-8

264 ◆/vmukiyuzw:2005/12/14(水) 20:17:45
>>261
> # メモ・・・JBBSの過去ログではmetaタグでcharsetが指定されない場合があるようだ・・・
とりあえずJBBSの要望スレに書いてみたら対応してもらえました。
既にHTML化済みのものについては変更されることはないでしょうが・・・

265 ◆/vmukiyuzw:2005/12/15(木) 23:15:06
バージョンアップしました。(0.8.0)
・Proxy設定機能を実装。
・subject.txt作成、および一括変換で、フォルダ名のドラッグ&ドロップ機能を
 追加。

Proxy設定は画面の一番上にある「Proxy設定」ボタンを押すと呼び出せます。
使い方はJaneとProxomitronからパクったような感じで・・・まああまり説明しな
くてもわかるだろうと思います^^;
ちなみに、Proxyサーバのアドレス&ポートはProxy.txtというファイルに一覧で
保存できますが、「Proxyを使う」かどうかそのものは保存されないので、申し訳
ないですが起動のたびに設定して下さい。

次にフォルダ名のドラッグ&ドロップですが、>>259で「一括変換のほうが悩み
どころです」と書きましたが、とりあえず
・空いてるほうに上から順に入れる
・両方空いていないときは選択ダイアログを出してどちらに入れるか選択する
ようにしました。「もっといい方法があるよ」とかあったらお教えください。
あと、ドロップされたものがファイルなのかフォルダなのか、というチェックは
してません。間違えて実行したらどうせエラーになるので自己責任で、て感じです。

266663 ◆red7kKzN/E:2005/12/19(月) 19:36:36
>>265
ありがとうございました
ここ数日(というか今年いっぱい・場合によっては来年まで)
多忙にて手をつけられない状態なもので
先に御礼を。。

ふと思ったんですが
dosのコマンドラインのように(ってよくわかんないですが)
「c:\Program Files\htmltodat\htmltodat.exe?url=http://test.com/1234567890.html
みたいにしてHTMLを呼び出すような事が出来たら
janeやtwintailの外部コマンドから直接呼び出せるなーとか思いましたが どうでしょう
(↑スルーして頂いても全然構いませんです)

267 ◆/vmukiyuzw:2005/12/19(月) 20:46:08
>>266
> ふと思ったんですが
> dosのコマンドラインのように(ってよくわかんないですが)
> 「c:\Program Files\htmltodat\htmltodat.exe?url=http://test.com/1234567890.html
> みたいにしてHTMLを呼び出すような事が出来たら
> janeやtwintailの外部コマンドから直接呼び出せるなーとか思いましたが どうでしょう

実を言うと、>>219の最後のほうでちょこっと書いたんですが、以前から構想には入って
いたりします。

ただ、どうせやるなら、単にHTMLを呼び出すだけでなく、dat変換や、あわよくば
dat保存までいっぺんにできたら面白いかなと思ったり(そしたらJaneの外部コマンドで
にくちゃんねるを読めるのと同じようなことができたりしないかなと)。
ただそうなると正規表現とか変換オプション等々も指定できないといけないわけで、
その辺をどうしたもんかな、というあたりが課題なわけです。
まあこれは自分がどの辺のレベルで割り切るかだけの問題で、ご指摘頂いたレベルでも
ある程度使い物にはなるんだろうなとは思うのですが。

268663 ◆red7kKzN/E:2005/12/19(月) 21:14:27
うわすごいですすごいです
その場合 汎用的には
snapshotとdumper.jpとか出来そうですね。

仮想httpサーバと自動コマンドラインが実装されれば
直接dat格納までとか出来そうですね。
ただ、完全に車輪の再生産的そのものですが。

というか、自動コマンドライン変換とか出来れば
proxomitronと組み合わせて
jane等でのdat取り込み格納まで不可能でも無さそうです
(と思うだけです)

269 ◆/vmukiyuzw:2005/12/20(火) 01:28:37
>>267-268についてですが期間的にも内容的にもあまり多くを期待しないでください。
>>267で「課題です」と書いた以外にも、例えばJaneみたいに外部コマンドでスクリプトとか
指定できるものならなんとかなるんですが、そうでないブラウザでは単にどこのフォルダに
保存すればいいのかって事すらまちまちで決定できないと思われます。
いろいろ考えてみても、指定したURLから何らかの手段で思ったとおりのフォルダに保存
することができないブラウザではあまり使い道がないような気がするのです。

270名無しさん:2005/12/29(木) 09:30:00
ここの正規表現がわかりませんorz
http://warota.up.seesaa.net/image/ongaesi.html
divとかspanが入っててもう泣きそうです(;つД`)
皆さんのお力を貸していただければ幸いです

271663 ◆red7kKzN/E:2005/12/29(木) 10:01:11
# ここまでやって時間が来てしまったです

>>270
えーと
中途半端なので何ですが(なら出すなと)

m#<span.+?><a href="menu:\d+">([0-9]+)</a></span> <span class="name_label">名前: ?</span>.*?(?:<a class="name_mail" href="mailto:(.*?)">)?<b>(.*?)</b>.+?投稿日:</span> <span class="date"> ?(.+?)</span></div><div class="mes">(.*?)</div>#mi
・・・ごめんなさい、これだとメール欄の取得が出来ません。
まだまだ修行が必要だ。。

272 ◆/vmukiyuzw:2005/12/29(木) 17:47:43
>>270さん
>>271の663さんのを元に修正してみました。
メール欄の有無であちこちの半角スペースの有無が変わるのでそれを補正しました。
あと、名前欄がトリップの場合に最短一致だと拾えないので?を取りました。

m#<span.+?><a href="menu:\d+">([0-9]+)</a></span> ?<span class="name_label"> ?名前: ?</span>.*?(?:<a class="name_mail" href="mailto:(.*?)">)?<b> ?(.*)</b>.+?投稿日:</span> ?<span class="date"> ?(.+?)</span></div><div class="mes">(.*?) </div>#mi

ブラウザで見たときに最後の</div>#miの前の半角スペースが1個になっちゃうと思いますが
実際には2個です。

# こういうHTMLを見るときは横スクロールありで見たほうが意外と見やすいことに気づいた

273名無しさん:2005/12/29(木) 19:10:56
>>271-272
ありがとうございました
早速偽モナメント3にageて読ませていただいております

274 ◆/vmukiyuzw:2005/12/29(木) 19:18:34
ところで実況とか一部の板で時刻が100分の1秒単位まで表示されるようになってますね。
レス1の投稿日時からdat名を求める処理にもしかしたら影響するかも、と思って早速
テストしてみましたが、特に影響は出なかったので安心しました。

275名無しさん:2006/01/17(火) 17:12:37
htmltodat080を使わせてもらっています。質問なんですがとあるサイトのログをdatにしたんですが
どうもレスの一部が削られているようなのです。例えばここのサイトの
ttp://cp2ch.hp.infoseek.co.jp/
●● 食虫植物を育ててる方のスレッド Part5 ●● ttp://hobby.2ch.net/test/read.cgi/engei/1073146723/
を正規表現「なんだっけ」「DAT2HTML0.26」で変換したところ、例えば>955ですと

今回、洗いざらい全てブチまけてしまって楽になったのは、果たして幸か不幸か…。

以降が消えてしまっているようです。
この他のスレでも所々削られているようなんですがこれは正規表現が正しくないからなんでしょうか?
よろしくお願いします。

276名無しさん:2006/01/17(火) 17:17:10
補足
Janeの外部コマンドでにくちゃんから取得すると
上の>955に関しては正しく出来ているようです。

277663 ◆red7kKzN/E:2006/01/17(火) 17:54:39
# 作者さんでは無くてすみませんです

>>275さん
そのHTMLですが、ブラウザから直接保存したのかどうかわかりませんが
>>5の正規表現とも異なってますしよくわからないのですが
「なんだっけ」「DAT2HTML0.26」のどちらも
終端を「〜<BR><BR>#mi」としているのが
整形されたHTMLと間違ってマッチしちゃってるみたいです。

HTMLのソースでいうと5250-5251行目

<BR>今回、洗いざらい全てブチまけてしまって楽になったのは、果たして幸か不幸か…。
<BR><BR>つーか所詮僕は(後略)

の「<BR><BR>」にマッチしてしまって後が切り捨てられたのではないかと。
で、これにみあった正規表現を考えてみると、こうなるのかなと思うです

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

「<BR><BR>」のあとに「半角空欄+<DT>」が来るような正規表現にすれば
上の955の問題は回避出来ると思うです。

278名無しさん:2006/01/17(火) 18:39:04
>>277
早速のレスありがとうございます。
上のサイトからhtmを保存しローカルのファイルをhtmltodatで
読み込んで試しました。
それで、277さんの
m#<DT><A name.+?>([0-9]+)</A> :.*?(?:<A href="mailto:(.*)">)?<B>(.+)</B>.*? ?:(.+?)<DD>(.*)<BR><BR> *?(<DT>|</DL>)#mi
でやってみたらうまく出来ていました。ありがとうございます。


それで要望なんですが今回Janeでスレを読んでいて違和感を感じたので
サイトのhtmと直接比較してレスの欠落に気付いたのですが、こういうのを
自動で検出する機能があればいいなと思いました。

一番良いのは正規表現を自動で生成出来る事なんですけど・・・

では、ほんとに有難うございました。

279 ◆/vmukiyuzw:2006/01/17(火) 22:10:07
# 663さん回答ありがとうございます

>>278さん
> それで要望なんですが今回Janeでスレを読んでいて違和感を感じたので
> サイトのhtmと直接比較してレスの欠落に気付いたのですが、こういうのを
> 自動で検出する機能があればいいなと思いました。
>
> 一番良いのは正規表現を自動で生成出来る事なんですけど・・・

それができればおそらく正規表現自体をユーザが意識する必要ないようにできるでしょう。
しかし現実のHTMLはその性質上あまりにもファジーなわけで・・・。
よいアルゴリズムがあれば是非ご教授願いたいところです。とりあえず私の今のスキルでは実現出来そう
にないです。
ただ言える事は
「出所のはっきりしないHTMLについては既存の正規表現がそのまま使えるとは期待しないでください」
ってとこでしょうか。
# Jane関係のスレだったか、「kakikomi.txtに自分のレス番号を記録できないか」という議論が何度か出て
# 結局「困難」と言われているのを思い出しました(これもdatとHTMLの比較の話です)

280275=276=278:2006/01/17(火) 23:48:27
>>279
素人考えで無理な事言ってすいません。
今回この書き込みが消えているのを見つけてから変換したdatを調べてみたら
結構な数のdatがこうなっていたので思わず書いてしまいました。
やはりケースバイケースで正規表現を書き換えないといけないんですね。
当方、正規表現も理解出来ていないぐらいなのでお力になれず残念です。

281 ◆/vmukiyuzw:2006/01/18(水) 02:31:54
>>279
うあ、
> # Jane関係のスレだったか、「kakikomi.txtに自分のレス番号を記録できないか」という議論が何度か出て
> # 結局「困難」と言われているのを思い出しました(これもdatとHTMLの比較の話です)
は、「datとプレーンテキストの比較の話」でした。勘違い(恥
まあいずれにせよ、加工が入ると比較が難しくなるっていうことで^^;

282 ◆/vmukiyuzw:2006/01/30(月) 01:58:30
バージョンアップしました。(0.8.1)
 ・文字コード自動判別機能を多少強化(metaタグでcharsetが指定されていなくても
  ある程度自動判別出来るようにした)。
 ・「EUC->SJIS」「UTF8->SJIS」ボタンを廃止。代わりに「ソース文字コード」の
  コンボボックスと「->SJIS変換」ボタンに変更。
 ・一括変換でhtm,html以外の拡張子も指定できるようにした。

文字コード自動判別については、
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038409548/49
で書いたものを実装してみました。
(まあ、Unicodeとかiso-2022-jpとかは2ch形式のHTMLでは今のところ見たことが
ないので実装してませんが)

「EUC->SJIS」「UTF8->SJIS」ボタンについては、他とUIをそろえるためと、今後の
拡張性を考えコンボボックスに変更しました。

あと、一括変換での拡張子指定は、
http://yy14.kakiko.com/test/read.cgi/mirror/1115123243/310-314
あたりで出てきた話題を実装したものです。
まあ使い道としては適当にupされたdatのキーを元のdatキー名に変換するとか
文字コードを変換するとかかなあ・・・まあお好きにお使いください。
ちなみに自分で書いたもののコピペですが

> 正規表現:m#(.*?)<>(.*?)<>(.*?)<>(.*?)<>(.*)#
> 変換結果式:$1<>$2<>$3<>$4<>$5
> これだけだとdatの最後に<>が3つくっついて変になるので
> 後処理:s/<><><>/<>/
> これで一括変換かける。

283 ◆/vmukiyuzw:2006/02/08(水) 22:53:13
http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/483-484
今までbeコードについては手を抜いていましたが、これを読んで由々しき事態だなと思い
調べてみました。
663さんのコードがそのまま使えるかなと思ったのですが、DAT2HTMLではどうしてるのかなと
調べたところ、be関数の引数の数が2chとは違う
(<a href=javascript:be(26098733,1);>のようになっている)ので、両方に対応できるよう
以下のようにしました。

s#<a href=javascript:be\((\d+)(?:,\d+)?\);>\?(\#*) *?</a>#BE:$1-$2#gi

当面、beコードを含むHTMLを変換する際は、基本的には上記の正規表現を変換オプション→
前処理に貼り付けるようにしてください。
(でないとbe対応2ch用ブラウザでbeプロフィールを表示できません)

大抵のHTMLでは上記のでいけると思います。
今後、もっと汎用性が確認できたら内部に組み込もうかなとも考えています。

※p2.chbox.jpのHTMLについては上記は使えませんが、それは
 http://www.geocities.jp/mirrorhenkan/snapshot を参照ください

284 ◆3551601012:2006/02/15(水) 22:36:46
いちおmakimo.toの正規表現も載せて見てはどうでしょうか?

285 ◆/vmukiyuzw:2006/02/15(水) 22:57:24
>>284さん
>>222-223に書いてますが・・・
デフォルトで付けているregexps.txtにも入れてみてはという意味ですかね?

286 ◆/vmukiyuzw:2006/02/20(月) 00:03:42
Beのユーザープロフィールがどどーんと変わったよ。
http://live22x.2ch.net/test/read.cgi/news/1140353755/

早速見てみましたがHTML上は特に変更ないようです。
2ch用ブラウザはこれから対応待ちってとこでしょうか・・・

287 ◆/vmukiyuzw:2006/02/28(火) 23:05:01
「株」についてですが、今のところHTMLとdatで違いはないようなので
手を出す必要はないかなと思っています。

288 ◆/vmukiyuzw:2006/03/03(金) 23:01:42
バージョンアップしました。(0.8.2)
 ・HTMLソース欄、正規表現欄、dat変換結果欄、変換オプションの前処理・後処理欄
  に右クリックポップアップメニューを追加。
 ・beコードのHTML->dat形式の変換を内部に取り込み。

ポップアップメニューについては
http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/479
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038409548/56
で出てた話を実装したものです。

beコードについては、>>283 の件を内部に組み込みました。
これでbeコード入りのHTMLを変換する際に>>283 のような前処理を指定する必要は
なくなったと思います。

あと、>>284さんの意見は意味がわからなかったので当面スルーです。
デフォルトのregexps.txtに追加するという話だと、自分で追加・修正してる方に修正を
強要してしまうことになるかもしれないので、なるべくならやりたくはないのです。

289 ◆/vmukiyuzw:2006/03/03(金) 23:44:29
あと余談ですがこんなサイトを見つけました
ttp://www.dll-files.com/dllindex/dll-files.shtml?riched32
9x系のOSで、全選択→コピーってやるとriched32.dllのエラーに
なってしまう方は試してみるといいかも知れません。
(自分で試したわけではないので全くの無責任です^^;)

290 ◆/vmukiyuzw:2006/03/12(日) 00:47:35
ちょっと仕様で悩んでることがあります。

前処理のw コマンドで保存するファイルの指定について
http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/542,544
みたいなリクエストがあって、ちょっと考えてみたのですが
ファイル名に置換ワードを使うという前提で
$FILE →今までどおりhtmltodat.exeと同じフォルダに保存
$PLAINFILE →フォルダ名を付加しない。なので使うときはフルパスを付加することが必須
$SELECTFILE →ファイル選択ダイアログを出して選んでもらう
$ORGFILE →元ファイルと同じフォルダに保存する
とか考えました。

悩んでるのは
(1)こんなもんでよいのかと。
(2)「元ファイルと同じフォルダに保存する」って、URLを指定された場合には
どうするのかと。($FILEか$SELECTFILEとどちらかの同じ動作にするか)
(3)URLが指定された場合、やっぱファイル名は9-10桁のスレッドキーにした
ほうがいいのかと。

等々、まあくだらないことばかりかもしれませんが相談に乗っていただけると
ありがたいなと思います。

291663 ◆red7kKzN/E:2006/03/12(日) 22:21:25
# 要望したのは自分ですが 何書けばいいのだろう・・・

>>290

>(1)
そんなもんでよいです
というか 凄いです。

>(2)
エラーを出せばいいのは
・・・と素人目には思うのですが・・。

>(3)
後処理でもwコマンドが使えたのですか。
選択式に出来れば有り難いのですが・・・。


あと追加要望なのですが(ごめんなさい)

wコマンドで出力するファイルの文字コードも指定出来たら有り難いです。
UTF-8で保存し直したりする機会が増えてきましたので。。

292 ◆/vmukiyuzw:2006/03/12(日) 23:30:39
>>291
レスありがとうございます。

> >(2)
> エラーを出せばいいのは
> ・・・と素人目には思うのですが・・。
確かにそんな程度でもいい気がしますね。

> >(3)
> 後処理でもwコマンドが使えたのですか。
後処理ではwコマンドは使えないです。
(datの一行ごとに作用させてる関係上・・・)

> 選択式に出来れば有り難いのですが・・・。

> wコマンドで出力するファイルの文字コードも指定出来たら有り難いです。
うーむ、このために置換ワードのバリエーションを増やすのは煩雑ですし
使うほうもわかりづらいですね。
(Janeでは$TEXTUとか$TEXTEとか使われてますけど)
wコマンドのオプションで w なんちゃら -utf8 みたいにするか、直前のコメントで
#to_utf8 みたいに指定できるようにするか、どっちかですね。
ともあれ貴重なご意見ありがとうございます。

293 ◆/vmukiyuzw:2006/03/13(月) 02:00:12
どちらも変換オプションに入れてしまえばいいか・・・
オプションも段々ごちゃごちゃしてきたような気もしますがまあいいか

294 ◆/vmukiyuzw:2006/04/01(土) 01:04:28
心配はしてたんですが今年もやられた・・・2006/03/32とは・・・
dat保存する際に「日付または時刻ではありません」のエラーになってしまいます。
ひ(ryのバカヤロー!
忙しいんですが何らかの対処しないといけないようですね・・・

295 ◆/vmukiyuzw:2006/04/01(土) 16:41:11
というわけで急遽バージョンアップしました。(0.8.3)
 ・投稿日が「2006/03/32」となっている場合、投稿日からスレッドキーを求める処理
  が失敗しdat保存する際にエラーとなる場合があるので修正。

というか「2006/03/32」を強制的に「2006/04/01」に変換するようにしただけなんです。
明日「2006/03/33」とかなってたらどうしようw
つーか毎年こういうことに悩まされるのも嫌だな・・・

次に、http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/572
のようなリクエストがきたので前処理の「DUMPER.JPスレタイ除去」を修正してます。
必要な方は上書きして下さい。

あと、>>290-293については急ぐ物件ではないかなと思って後回しにしてしまいました。
ごめんなさい> 663さん

296 ◆/vmukiyuzw:2006/04/02(日) 00:20:24
大体の板は直ったみたいだけどVIPとか未だに「2006/03/33」が出てますね。
これはもうさすがに放置しようかなと。一応エラーにはならないように対処しましたし。

297 ◆/vmukiyuzw:2006/04/10(月) 00:53:44
動画2chなんてものが出来てるようですが・・・
どう対処したものか今のところ全くわからない状態です。
まあ出来たばかりなので過去ログが出来た段階で考えようかと。

298<削除>:<削除>
<削除>

299名無しさん:2006/04/27(木) 00:15:42
単なるクレクレな、こんな質問をしてすみません。
pealの正規表現がぜんぜんわからないんで・・・
3chの過去ログ倉庫にあるスレッドをDAT化したいのですが、
2chの過去ログ倉庫とは形式が違うようです。
ttp://www.3ch.jp/newsvip/kako/112/1121876858.html
これの正規表現を教えてください。

300 ◆/vmukiyuzw:2006/04/27(木) 01:53:21
>>299さん
うーむ、これはどうやってHTML化されたものだろう・・・?
さっぱりわかりませんがHTMLの形式はread.cgi7.00?とほぼ似ているのでちょっと変えて

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

でいけると思います。他のログに通用するかは自信ありませんが。

301663 ◆red7kKzN/E:2006/04/27(木) 16:19:31
>>299さん
どうしてもhtmlからdatに変換したいというなら別ですが、
3chの場合 そのアドレスの「〜.html」を「〜.dat」に変えればいいです

http://www.3ch.jp/newsvip/kako/112/1121876858.dat

0chスクリプトの過去ログなんかも同様にいけるです(>>180-181)


>>mukiyuさん
悪気は全くないのです
お気を悪くされたら謝ります
ごめんなさい
ごめんなさい

302299:2006/04/27(木) 22:52:32
>>300
ありがとうございました。できました。
なんかすぐ対応してもらってすみませんでした。

>>301
_| ̄|○ソウダッタノカ・・・
それって3chの運営にでも書いてありましたかね・・・
なにしろトップから過去ログ倉庫にもいけないと言うへぼさ加減で>俺
ひとつ勉強になりました。ありがとうございます!

303 ◆/vmukiyuzw:2006/04/27(木) 23:15:33
>>301
「お気を悪くされたら」なんてとんでもないです
htmltodat使わなくてもdatが取得できるならそのほうが効率的ですし
ノウハウを提供頂いて逆にありがたいです

304546:2006/04/30(日) 01:58:44
htmlファイルをdatにhtmltodat0.8.3で変換しようとすると、
変換開始後、数秒してから
「全然ヒットしないので正規表現が正しくないようです」
とエラーが出てしまいます。
(read.cgi7.00?で変換しています)

どうかアドバイスをお願い致します
http://makimo.to/2ch/etc_shop/1060/1060125334.html

WinXPsp1a
JaneIE Viewα051128

305名無しさん:2006/04/30(日) 02:15:40
>>304
ブラウザ上でマウスを右上のほうにもってくと出てくる「DAT」のとこをクリックして「1060125334.dat」で保存

306546:2006/04/30(日) 03:26:09
>ブラウザ上でマウスを右上
す、すみません
どのサイトの、どのページでやったらいいのでしょうか?

307名無しさん:2006/04/30(日) 03:55:53
>>306
>>304のLinkをブラウザで開いて実行すると、
http://makimo.to/cgi-bin/html2dat/html2dat.cgi?etc_shop/1060/1060125334.html
が開かれる

308 ◆/vmukiyuzw:2006/04/30(日) 19:28:18
>>305さんフォローありがとうございます
ちなみにjavascript ONでないといけないのでご注意ください。
にくちゃんねる(makimo.to)のdat化についての話題はこのスレでも何度も出てますので
一度検索してみてください。

309<削除>:<削除>
<削除>

310<削除>:<削除>
<削除>

311663 ◆red7kKzN/E:2006/05/17(水) 22:27:16
些細な要望なのですが宜しいでしょうか。

htmltodatで subject.txtを生成する際の改行コードを
「CR+LF」にして頂けたら嬉しいです。

現状、生成されたsubject.txtの改行コードは
「LF」みたいなので、メモ帳で開くと表示が崩れてしまうです。
(9x系のOSだけかもしれませんが)

エディタを使えばいいだけの話ですが、
ダブルクリックでメモ帳で開いてちょこっと直す事とか
出来たら楽だろうなー、と。

「CR+LF」の改行コードでも
FTPでAsciiモードでアップする際に「LF」に変更するみたいなので
問題無いと思うです
http://ash.jp/code/return.htm

気が向いたら御一考頂ければ嬉しくなりますです

312 ◆/vmukiyuzw:2006/05/18(木) 01:14:01
>>311
あえてサーバ側と同じになるようLFだけにしてたのですがそういうニーズもあるのですね・・・

修正するのは簡単ですし副作用も特になさそうなのでやろうとは思うのですが
>>290- がまだ中途半端にしか出来てないので一緒に対応しようかなと思います

313 ◆/vmukiyuzw:2006/05/25(木) 17:35:22
バージョンアップしました。(0.8.4)
 ・前処理のwコマンドの機能拡張。
  置換ワードとして$FILE,$ORGFILE,$PLAINFILE,$SELECTFILEを追加。
  (詳細はreadme参照)
  また、保存文字コードを変更できるようwe(EUCで保存)、wu(UTF-8で保存)
  コマンドを追加。
 ・dat変換をしない(前処理のみ行う)オプション追加。
 ・subject.txt作成で改行にCRLFを指定できるよう修正。
 ・その他タブオーダーなど細かい変更。

wコマンドの拡張は>>290-を受けたもので、あまり重要な修正というわけでは
ないと思いますけど、sed(て言ってわかる人がどれだけあるか疑問ですが)
みたいなストリームテキストエディタ的な使い方ができるのもそれはそれで
面白いかなと思ってつけてみました。dat変換を行わない(前処理のみを行う)
もそれの流れです。htmltodatの本筋をそれてますし、またも車輪の再発明ぽい
ですが。
文字コード変換の問題はいろいろ考えたんですがコマンドそのもので指定する
のが一番簡単そうだったのでそうしました。

subject.txtの改行コードは>>311の要望ですが副作用が怖かったのでやはり
オプションということで。
あと、タブオーダーとかが適当だったんでついでにある程度直しました。

314663 ◆red7kKzN/E:2006/05/25(木) 22:49:42
>>313
ありがとうございます。

取り急ぎ御礼まで

315 ◆/vmukiyuzw:2006/05/26(金) 10:34:03
うーむ、「dat変換をしない」をONにした状態で一括変換をかけると
元のファイル名.datで0バイトのファイルが作成されるバグが発覚しました。
調べてみます。

316 ◆/vmukiyuzw:2006/05/26(金) 11:57:19
バグフィクスしました。(0.8.5)
 ・「dat変換をしない」オプションを指定していたときに一括変換を行うと
  元のファイル名.datで0バイトのファイルが作成されるバグを改修。

一括変換ではとりあえずエラーでなければファイルをつくるようにしていたのを
すっかり忘れていた初歩的なミスで・・・前のバージョンをダウンロードした方
申し訳ありませんでした。
うーむ、でも今回は結構相性の悪そうな部分を弄ってるのでまたバグだしちゃう
かもw ごめんなさいね(先にあやまっときます^^;)

317 ◆/vmukiyuzw:2006/05/28(日) 13:40:18
http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/615-616 について
レス316と734のメール欄がプレーンテキストで [age] になっているため
正規表現にマッチしてないようですね。
しかしメール欄が age の場合だけの特例なのかなあ・・・よくわからん。
いずれにせよメール欄の表現形式が3種類となるわけでこれはこれでまた
面倒になりそう・・・なんでこんなうっとおしいことするのかなあ(ってhtmltodat
的に、ということですが)。もうmakimo.to大嫌い!!
今は考える気にもなれないのでもうすこし頭を冷やしてから考えてみます。

318<削除>:<削除>
<削除>

319 ◆/vmukiyuzw:2006/05/28(日) 22:01:26
http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/619
>> 変換した際に出力される$1の連続関係が簡単に確認出来たら
>> 嬉しいです。(私が)
>> 上の例だと「317と735が抜けてます」とか自動的に検出とか出来たら
>> 嬉しいです。(私ry)

これは技術的には全然可能ですし自分でも以前からあったらいいなと
思っていた機能です。
ただ問題はエラーをどう表現したらいいのか・・・
まあ普通に考えるとエラーダイアログで出すべきなんでしょうけど、
上の例くらいならシンプルですが過去に透明あぼーんが大量に含まれてる
スレを見た記憶があるので・・・
「317と318と319と320と・・・」みたいに延々と続けて表示されてもそれはそれで
迷惑かなと思ってしまって手をこまねいてしまった経緯があります。
でもまあ検討してはみます。

320 ◆/vmukiyuzw:2006/05/29(月) 00:51:38
エラーダイアログでなくメモウィンドウでも表示して抜けてるレス番を
羅列するとかししたらいいのかな

321 ◆/vmukiyuzw:2006/05/29(月) 02:23:08
>>317
変換ルールが読めない・・・もう少しバリエーションがあれば何とかなるかもしれませんが。
とりあえず現時点ではギブアップです。申し訳ない。

322 ◆/vmukiyuzw:2006/05/29(月) 23:53:11
>>317,321
多分なんとか対応できたような気がします。

前処理:
s#<span class=(.*?)>(.*?)</span> \[(.*?)\] #<span class=$1><a href="mailto:$3" class=mailto>$2 </span></span> #g
変換結果式:
$4<>$2$3<>$5<>$6<> (←これはmakimo.toのデフォどおり)
正規表現:
m#<dt><a href.*?>([0-9]+)</a> :<span .*?>(?:<span title=(.*?) class=sage>|<a href="mailto:(.*?)" class=mailto>)?(.*) (?:</a>|</span>)?</span> :(.*?) <br><dd> *?(.*?) <br> *?<br> *?(<a name.*?>|</tl>|</dl>)#mi
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038409548/44でメモしていたもの。他にも通用するかは
自信なし)

問題になっていたのは、普通のメル欄表現と、[age] みたいなメル欄表現が名前欄とメル欄の順序が変わって
しまうことで、それにより正規表現だけではどっちが$2(メル欄)か$3(名前欄)か判別できない状態になっている
ことでした。
なので、前処理で [age] みたいなメル欄表現は前もって名前欄とひっくり返しておくことで対応しました。
(後知恵ですが前処理を付けたおかげでこういうケースにも対応できるようになってよかった・・・
使いこなしは難しいなとは思いますけど)

323 ◆/vmukiyuzw:2006/05/30(火) 01:59:43
http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/621
メモウィンドウだとコピペも楽だろうなんでそう思った次第です
まあ実装はいつものごとくのんびりやるので期待せずお待ちください

324 ◆/vmukiyuzw:2006/05/30(火) 02:58:38
http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/620
下部にある過去ログというのが良くわからなかったんですが
そんなに難しいhtmlには思えませんでした
具体的なURLを示していただけると。

325663 ◆red7kKzN/E:2006/05/30(火) 08:57:42
おはようございます
いろいろすみませんです。出がけなので取り急ぎ。

えーと

http://jituwa.gozaru.jp/kakolog/01.html
から
http://jituwa.gozaru.jp/kakolog/25.html
までです。

326 ◆/vmukiyuzw:2006/05/30(火) 19:55:35
>>325
全部を見たわけではないですが、いろんなサイトから集めておられるのか
バリエーションがいくつかあるようですね。なので一発の正規表現で全部
変換するのは無理でしょう。個別に見ていくしかなさそうです。

01.htmlを見ると「sample」に毛が生えた程度のものかと思ったのですが
02.htmlはまた全然違う・・・makimo.toに似てますが微妙に異なりますね。
とりあえず02.htmlにマッチしたパターンです。ご参考まで。
(makimo.toと同じ変換結果式の指定が必要です)

m#<dt>([0-9]+).*?:<span .*?>(?:<span title="(.*?)" class=sage>|<a href="mailto:(.*?)" class="mailto">)? (.*?)(?:</a>|</span>)?</span> (.*?) ?<br> *?<dd> *?(.*?)<br> *?<br> *?(<a name.*?>|</tl>|</dl>)#mi

ブラウザ保存されてる関係だと思うのですが、余分な改行や半角スペースが
入っているので、マッチするパターンを見つけにくくなる傾向があります。
一概には言えませんが「 *?」(半角スペース+アスタリスク+クエスチョン)を
適宜入れることで回避できる場合があります。

# しかし上のパターンを書いてみて、>>319-320の実装はやはり必須だなと
# 痛感しました。正規表現でエラーになるわけではないのに全レス変換できない
# ときに、どのレスが欠けているのか探すのが超面倒くさい・・・

327663 ◆red7kKzN/E:2006/06/01(木) 19:49:16
お手を煩わせて申し訳ありませんです。
参考にさせて頂きます。

> ブラウザ保存されてる関係だと思うのですが、余分な改行や半角スペースが
> 入っているので、マッチするパターンを見つけにくくなる傾向があります。

ふと思ったんですが、ブラウザ毎にトリムされる規則(?)とか判ったら
前処理で

s# +?# #ig

とやるだけで良くなるかもな、とか。(戯れ言です)
・・やはり無理か。。

328 ◆/vmukiyuzw:2006/06/03(土) 00:08:22
>>327
> s# +?# #ig
これは良い案だなと思いました。HTMLでは連続する半角スペースは基本的に
ブラウザの表示上では無視されますから。
ただ、htmltodat的には、マッチするパターンを見つけるのにはそれほど役立たない
ような気もしますね。無駄な半角スペースが除去されたのを想定した上で正規表現を
考えないといけなくなりますし(ってそれはそんなに難しいことではないかな?)。

とにかく作者でありながら未熟者なので、例えばHTMLタグの途中で改行されて
半角スペースが妙に足されてるようなケースに出くわすと「なんでこんなとこで改行すんのよ!」
と思ってしまったりもすることがしばしばあるのです。だからブラウザ保存の変な(?)HTMLが
大嫌いなんです。><
最初の設計から、改行はまず全部とっぱらってからマッチさせるようにしておけばよかった
かもとたまに思うのですが、それはそれで難しいことになりそうで今のまま来てる訳で・・・
まあ今更愚痴ってもしょうがないですが。

329 ◆/vmukiyuzw:2006/06/03(土) 02:52:41
考えてみたら現状では前処理があるので改行やら半角スペースの連続やらを
除くことは可能ですね。
まあそれがどれだけ役に立つかは私にもまだわかりかねますが。

330<削除>:<削除>
<削除>

331<削除>:<削除>
<削除>

332名無しさん:2006/07/06(木) 00:53:13
Level3&ミルクカフェに対応キボーン

333<削除>:<削除>
<削除>

334 ◆/vmukiyuzw:2006/07/09(日) 20:01:48
>>332
対応の意味がよくわかりませんがなんかスレ違いな気が・・・もしかして誤爆でしょうか?
専ブラの作者さんに言うべきことのように思います。

それともこれらに対応する正規表現考えてくれって意味ですかね?それならそれで
具体的なURLを教えていただかないと何ともし難いです。
(それくらいググれよと言われそうですが私はそこまで寛容では無いです)

335<削除>:<削除>
<削除>

336663 ◆red7kKzN/E:2006/07/20(木) 19:26:04
要望というかどうすれば解決するのか教えて頂きたいのですが

http://web.archive.org/web/20030425012552/world2ch.net/test/read.cgi/accuse/1048754153/1-100

↑このhtmlをdat化しようとしています。
正規表現はたぶん

m#<dt>([0-9]+) Name: (?:<font color=green>)?(?:<a href="mailto:(.+?)">)?<b>(.+)</b>(?:</font>|</a>): (.*?)</dt><br><dd> (.*?)<br><br></dd>(<dt>|</dl>)#mi

でいいと思うのですが
元の文のハングル文字が全部「???」になってしまいます。

いったんdat保存して(文字コードUTF-8)、コピペで置換しようとしたのですが
やはり貼り付けると「???」になってしまいます。
(エディタはTeraPadとxyzzyyを使っています)
試していませんが、キリルフォントや繁体字・簡体字中国フォントでも
多分同様に文字化けすると思います。

この場合、どのようにすればよいでしょうか。

337 ◆/vmukiyuzw:2006/07/21(金) 02:10:38
>>336
うーむ、charset=UTF-8を名乗っておきながらUTF-8でない書き込みであるのが原因であろうと
思うのですが、何の文字コードなのかがさっぱりわかりません。
何となくEUC-KRぽい気はするのですが・・・ブラウザはどうやって判定してるんだろう?
とりあえずhtmltodatで判定する術は全く思いつかないです。逆に教えていただきたいくらいで。

338 ◆/vmukiyuzw:2006/07/21(金) 18:34:34
いや、やっぱりUTF-8ですね。xyzzyでソース表示させると表示できました。
でもSJISに無い文字なのでUTF-8→SJIS変換の時点で化けてしまうのですね。

可能性としては、「文字コード自動判別」をOFFにしてSJIS変換させずに
UTF-8のまま読ませてそのままdat変換(dat自体の文字コードもUTF-8でないと
意味無いでしょうから)できないかと試してみました。まあそれなりのdatぽくは
なったのですが、やっぱ内部的に全部SJISで扱ってる関係か、一部化けてしまいます。
こんな小手先の対応ではなくて、内部的にも全てUTF-8で扱うしか対応策はない
わけですがあまりに大きな変更になってしまうため不可能と思われます。
(bregexp.dllまでは手を出せませんし)

というわけで回答としては「ごめんなさいできません」です。

339 ◆/vmukiyuzw:2006/07/21(金) 19:19:52
しかしこういうのができないとなるとUTF-8のhtmlを読めるメリットも
減ってしまうのも事実で・・・というか「UTF-8に対応しています」と
言うこと自体おこがましいというか・・・
確約は全く出来ないですがいつかはやってみたい気はしますね。

340663 ◆red7kKzN/E:2006/07/21(金) 21:38:34
>>338-339
検証ありがとうございます。お時間をとらせてしまって申し訳ありません。

残念ですが、諦めずにxyzzyyでのコピー貼りつけを模索してみます。
こんなページ↓とかありましたし(でも何だかうまくいかない・・・)

http://www.faireal.net/articles/6/08/

# 全く無関係な事ですが
# 上のページとか読むと xyzzyyって「ジジイ」と読むのかな と。

341 ◆/vmukiyuzw:2006/07/21(金) 23:01:57
>>340
現状htmltodatにはSJIS前提の処理が入りすぎてるのでどうがんばっても
無理でしょうね
てかいっそxyzzyでhtmltodat的処理を書いてしまうというのはどうでしょう?
2ch用ブラウザを作ってしまえるほどの能力を持つエディタですし。
(て自分ではあんまりやる気が無いので書いてるだけですが)

342 ◆/vmukiyuzw:2006/08/27(日) 00:24:35
バージョンアップしました。(0.8.6)
 ・beコードの仕様変更に対応した(つもり?)。

beコードの仕様がころころ変わっていてどうしたものかと考えていたのですが
どうやらなんとなく落ち着いたようなので対応しました。
具体的には、前は#の数で表されていたものがBRZ(1000)とかに変わったので
どちらにも対応できるよう修正しただけです。多分今後大きな変更がなければ
このままでいけるのではないかと。

あと>>319-320は全然手を出せてません。まあ真面目にやれば出来るんでしょうけど
「ある物を表示するのは簡単だけどない物を表示するのは案外面倒」だなと。

あと>>338-339は何をどうしてやればできるのかもわからない状態です。
申し訳ないです。

343 ◆/vmukiyuzw:2006/10/21(土) 17:49:09
バージョンアップしました。(0.8.7)
 ・正規表現にマッチせずdatに変換できないレスがあった場合、警告ウィンドウを
  出して該当レス番号を表示するようにした。

>>319-320を受けての修正ですが補足しておきます。

HTMLでは、一つのスレの中でも、一レス毎に見ていくと
・メール欄の有無
・名前欄の内容(デフォルトの名無しvsコテハン、トリップ等々)
・その他いろんな要素
により、形式が多少異なるものが混在しているのが普通です。

で、そのどれにもマッチするように正規表現を考えていくのですが
見落としてしまうことも当然あります。

こういうときはエラーになるべきなのでしょうが
正規表現の書き方によっては中途半端にマッチしてしまって
変換自体は成功してしまうことがままあります。
その場合は大抵、元のHTMLのレス数 > 変換結果のdat行数 となります。
(変換できていないレスが存在する)

では取りこぼしたレスはどれか?と調べようと思うと、HTMLとdatをいちいち見比べて
確認するしかなかったので、結構大変でした。
この確認を楽に出来るようにしたのが今回の修正です。

344 ◆/vmukiyuzw:2006/10/21(土) 17:58:47
さらに補足です。

正規表現が不十分でレスを取りこぼしたのではなく、
実際にレス番号が欠けているケースもあります。
いわゆる「透明あぼーん」状態です。

※これは2chでは基本的に発生しないはず(サーバ側でレスを物理削除するとそれ以降の
 レスは番号が前に詰められる)なのですが、JBBSでは板管理者の設定で透明あぼーんに
 することができます。例えば>>174-176

こういうケースは正規表現をいじってもどうしようもないので、>>176で書いたような
対処しかないと思われます。
レス番号が飛んだことがわかるのなら自動で補うこともできるのではと思われるかも
知れませんが、取りこぼしなのか透明あぼーんなのかを識別するのが難しそうだなと
思います。


新着レスの表示


名前: E-mail(省略可)

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

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

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

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