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

htmltodatサポートスレッド

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

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

618名無しさん:2011/01/22(土) 09:57:06
unkar.orgにて以下の正規表現を試すのですが、"Sequence (?%c...) not recognized"と出ます。

m#<dt.*?>([0-9]+).*?<span><b>(.*?)</b></span>(?\[(.+?)\])?:(.*?)</dt><dd.*?> (.*?)</dd>#mi

なぜでしょう?

(?\[(.+?)\])?を(\[.+?\])?とすれば問題ないのですが、
できるなら[sage]の括弧を外したいので。

よろしくお願いいたします。

619 ◆/vmukiyuzw:2011/01/22(土) 17:39:28
>>618さん
(?の直後に\がきてるので「そんなシーケンス存在しないよ」と怒られてるのでは?
やりたいのは多分(?:じゃないんでしょうか。

なお、unkar.orgについては>>606-607も参照ください。
有名処の過去ログ保存サイトはたいてい 663 ◆fnwcOWFi56 さんが
自分のサイトで考えてくださっているのでそちらも参照されたほうがいいと思います。
(車輪の再発明になってしまう可能性が高いので)

620名無しさん:2011/04/07(木) 14:11:28
本日、初めてログ速のdat化を試みて
(663 ◆fnwcOWFi56 さんのところで探したけれど、よく分からなかったので)
気づいたことメモっときます。

・DAT2HTML0.26 で変換すると、1レス目を変換した後にエラー吐く。
 ログ速1レス目の直後に挿入されてる広告が引っかかってるらしい。
・2レス目以降のHTMLソースをコピペして DAT2HTML0.26 で変換すると、
 ID前後のHTMLタグが残るだけで、そのほかの部分は問題なく変換される。

自分は拾い損ねたレスだけHTMLソースをコピペ変換して済ませたけど、
前処理で広告スクリプトを削除できれば、
ログ速の変換はなんとかできそうな気がする、と言う報告でした。

621名無しさん:2011/07/20(水) 07:23:26
http://jbbs.livedoor.jp/bbs/read.cgi/radio/14978/1290852881/

このスレのhtmldatのみが上手くいきません(regexps.txtは一通り試しました)
原因は
livedoor レンタル掲示板 開発日誌 : したらば掲示板”投稿不具合についてお知らせ” - livedoor Blog(ブログ)
http://blog.livedoor.jp/bbsnews/archives/51199768.html
にあるとわかっているのですが…
アドバイス・解決策等を教えていただけませんか?

622 ◆/vmukiyuzw:2011/07/20(水) 22:19:46
>>621さん
それってしたらばの生ログをhtml→dat変換したいという話ですかね?
それならしたらばを直接読める専ブラを使えば・・・と思ったのですが
データ破損のせいなのか、したらばのrawmode.cgiの不具合なのか、
全てのレスを読み込めないようですね。
(FireFoxだと1000レスあるがJaneだと765レスまでしか読めない)

とりあえずやってみました。
HTMLの形式自体は素直なものなのですが
頭のほうに例によってガラガラがくっついていて変換の邪魔をしているようなので
これを適当に除いてみます。

変換オプション - 前処理:
#javascriptとstyleシート記述を全部取り除く
s#<script (.|\n)*?</script>##ig
s#<style (.|\n)*?</style>##ig


これを入れると正規表現は既存の「jbbs過去ログ」や「DAT2HTML0.26」等で
変換できるように当方ではなりました。

623名無しさん:2011/07/20(水) 23:20:51
>>622
高速レスありがとうございまう
おかげで無事読み込めました
2010/11/30(火)同日を跨いだしたらばログがいくつか似た状況にあるので応用して使わせて頂きます

624名無しさん:2011/07/22(金) 19:18:29
http://bbs.2ch2.net/admin/readkako.cgi?bbs=visualtanuki&amp;q=1194&amp;q2=1194398043
ここをdat化したいのですがどうやったらできるのですか?

625 ◆/vmukiyuzw:2011/07/22(金) 23:33:08
>>624さん

まず基本的な問題として、デフォルトのhtmltodatでは「403 Forbidden」エラーを食らって
ログ自体を読み込めないみたいですね。
この手の403エラーは大抵User-Agentではねられているケースがほとんどなので
適当に変更します。
htmltodatでUser-Agentを変更するには、ウィンドウの一番上にある「受信オプション」ボタンを
押して「HTTPヘッダの追加」欄に適当なUser-Agentヘッダを入力します。当方の例ですが

User-Agent: Mozilla/5.0

これで読み込めました。


あとはhtml→dat変換の正規表現ですが、htmlの形式自体は素直なのに、意外にもぴったりくる
既存の正規表現はないですね。
「read.cgi7.00?」を基にちょっと書き直してみました。多分書き直し前のものと互換性は保たれていると
思います。

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

626名無しさん:2011/07/24(日) 16:56:29
>>625
ありがとうございます
変換は成功したのですが、専用ブラウザで読み込むことができませんどうやったらできるようになりますか?

627 ◆/vmukiyuzw:2011/07/24(日) 20:07:27
>>626
それはお使いの専用ブラウザの種類によります。
Jane系ならスレ欄にdatファイルをD&Dするだけで取り込めますし
ギコナビのようにログフォルダにdatファイルを入れて再起動でいけるものもあります。
かちゅ〜しゃなんかだと専用のツールが必要になるようです。

628名無しさん:2011/08/03(水) 13:09:35
ログ速をdat化するにはどうすればいいかを教えてください

629 ◆/vmukiyuzw:2011/08/03(水) 20:42:56
>>628さん
ログ速に関しては
>>620さんも考えてくださってるし、663 ◆fnwcOWFi56 さんも自分の掲示板で
いろいろ考えてくださっているのですが、なかなか手ごわいみたいですね。

試しに適当なスレで663 ◆fnwcOWFi56 さんが考えてくださった正規表現を
試してみたのですが変換できませんでした。てことはhtmlの形式が一通りでなく
何パターンかあるのかもしれません。となると対応は一層困難になります。

現時点では私の手には追いかねるって感じですかね。時間がとれれば何とかなるかもしれませんが。
すでに取り組んだ人の成果を基に自力でなんとか頑張ってくださいとしか言えないです。

630名無しさん:2011/08/04(木) 02:28:10
>>629
ありがとうございます

631名無しさん:2011/08/05(金) 17:00:19
テレビジンのdat化の方法誰か知っている方いませんか?知っていれば教えてください

632 ◆/vmukiyuzw:2011/08/05(金) 20:50:19
>>631さん
663 ◆fnwcOWFi56 さんが以前に考えてくださっているようです。
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/326

633名無しさん:2011/08/17(水) 04:28:16
いつもお世話になっています
これをDAT化させることはできるでしょうか?
http://www.dotup.org/uploda/www.dotup.org1912892.txt.html

634 ◆/vmukiyuzw:2011/08/17(水) 20:37:28
>>633さん
ログからのリンク先を見てみると、過去ログ保管サイトというタイプのものではなく
ログ収集ツールのようなものみたいですね。

このログについてはたった3レスしかないのでhtmltodat使うよりもエディタでdat作ったほうが
早いような気がするのですが、一応考えてみました。ただサンプルが少なすぎるので
他のログについても適用可能かどうかはわかりません。

前処理:
# スレタイが普通とは違う形式で表現されているので修正
s#\t\t\t<input type="hidden" name="suretai" value="(.*?)">#<title>$1</title>#i
# ガラガラ除去
s#\t.*?(\r\n)##ig
# 日付とIDの間に邪魔なものがあるので取り除いておく
s#</span><a href="" onMouseover="javascript:w_res\('<b',.+?\);" onClick="javascript:ID_menu\('<b',.+?\); return false;" id=".+?">(ID:)</a><span id=".+?">(.*?</span>)#$1$2#ig

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

正規表現:
m#<a name=.+?><a href=.+?>([0-9]+).+?<span class="na".+?>(.*?)</span>\[<span id=.+?>(.*?)</span>\]<span id=.+?>.*?:(.*?)</span><div class="bo".+?>(.*?)</div>#mik

635名無しさん:2011/08/17(水) 21:20:11
>>634
他のもすべて同じ形なので無事変換できました
ありがとうございます

636 ◆/vmukiyuzw:2011/08/18(木) 20:51:03
よく見てみたら気づいたのですが>>634の正規表現だと
トリップを囲むspanタグが取り除けてないですね。
まあ専ブラでの表示にはおそらく支障は出ないでしょうし
他のパターンでどうなるかサンプルが少なくてわからないので
当面これでよしとしますか。

637635:2011/08/19(金) 02:58:09
巡回ツールで自動作成されたものなのでレスの部分を除いてすべて同じ形でした
支障がないようなのであればこのままこれを使わせていただきます

638名無しさん:2011/08/25(木) 19:18:10
>>632
この方法でやってみたのですが、失敗しました

639名無しさん:2011/08/25(木) 19:29:45
>>638をもっと詳しく書きますと、
>>632の通りに変換すると、「1行が長すぎるか、正規表現が正しくないようです」というメッセージが出て、変換できません

640 ◆/vmukiyuzw:2011/08/26(金) 21:40:50
>>638さん
もう2年くらい前に考えられたものですしそこから形式が変わったのかもしれませんね。
htmlになっているものだとうまくいくようですがそうでないものはすでにログが消えててアクセスできません。

私はそこのサイトに詳しくないので通常のログ?にたどり着く方法がよくわかりません。
サンプルのURLをいくつか教えていただけるとなんとかできるかもしれません。

641名無しさん:2011/08/27(土) 20:42:49
>>640
http://tvz.in/thread/ntv/1287017888/

642 ◆/vmukiyuzw:2011/08/28(日) 00:48:49
>>641
見てみましたが現在のhtmltodatでdat化するのはかなり難しそうですね。

htmlの形式自体はシンプルなので適用する正規表現を書くのは全然難しくなさそうなのですが
問題なのはレスアンカーしてるレスがレスアンカー元のレスの直後に並べ替えられていること。
(レス47の直後に129,167が来てる等)
これを単にdat変換しても本来のレス番と全然違うものになってしまいレス番ポップアップとかが
全く意味のないものになってしまいます。
それを正しく並べ替えるような機能は今のhtmltodatにはありません。

EXCELとか使える方なら何とかできる可能性はありますがそうでなければ自力で
変換前か後に自力で並べ替えるしかないと思います。

643 ◆/vmukiyuzw:2011/08/28(日) 00:55:54
基本的に、一つのレスを一行のdatに変換することが基本機能なので
レスの順番を変えられても対応できないってことです。
あぼーんでレス番が飛ぶケースには一応対応したんですが逆転まではちょっと。

644名無しさん:2011/08/28(日) 02:25:17
>>642
>>643
ありがとうございます

645名無しさん:2011/08/28(日) 02:28:29
http://2chnull.info/r/liventv/1287017888/1-1001
このような場合も変換できません
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/441
の通りにやってみたのですが、うまくいきません

646 ◆/vmukiyuzw:2011/08/28(日) 19:58:01
>>645さん
ログの形式が微妙に変更されてるようですね。
> http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/441
を基にちょっと修正してみました。

前処理:
s#<title.+?/title>##ik
# タイトルの表現形式が以下のように変更されている
s#<h1 id="title">(.+?)(\n|<a )#<title>$1</title>#ik
# 2ch外のサイトへのリンクが消えてしまう副作用があったため下のものに変更
#s#<a.+?>(h?ttp://\w+?\.(?:2ch\.net|bbspink\.com)/test/read.cgi/\w+?/\d+/?)</a> \[<a href=".+?">cache</a>\]#$1#igk
s#\[<a .+?>cache</a>\]##igk
# 「駄レス!」「良レス!」のマークを削除
s#<img src.+?>##igk
# トリップ等細字になるべき部分を補正
s#<strong>#</b>#igk
s#</strong>#<b>#igk

正規表現:
m#<dt>([0-9]+):<em>(?:<b>)?(?:<a href='javascript:alert\("(.*?)"\);'.*?>)?(.+?)(?:</a>)?(?:</b>)?</em>:(.+?)</dt><dd>(.+?)</dd>#mik

647 ◆/vmukiyuzw:2011/08/28(日) 20:59:37
> s#<title.+?/title>##ik
> # タイトルの表現形式が以下のように変更されている
> s#<h1 id="title">(.+?)(\n|<a )#<title>$1</title>#ik

についてちょっと補足。

htmltodatでは、<title>と</title>タグで囲まれてる中をスレタイとして認識する仕様ですが、
このサイトのログの場合、<title>タグの中にスレタイとは別の記述がされており
他の部分に <h1 id="title">スレタイ<a 〜 みたいな形式でスレタイが表現されているので
(こういう過去ログ保存サイトではしばしば見かけられることです)、
まず1行目でスレタイが書かれてない偽の?<title>タグを削除してしまい
3行目で実際のスレタイが書かれてる部分を<title>タグの形に変換してしまうことにより
スレタイと認識させているわけです。
前処理では割と良く使われる方法なので参考になれば。

648 ◆/vmukiyuzw:2011/09/27(火) 22:42:30
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/734
> あとここってURL見たらわかるように
> レス番が逆転表示されとりますがな
> htmltodatでこういうケースにも対応して頂けたら嬉しいです(私が)

このスレでも少し話が出てたので若干。(>>642)

htmltodat単独では現状無理ですし、今後また別のパターンが出てきたりして
いちいち対応する羽目になるのはいやなので手出しする気が起きないのですが
例えば 変換オプション - 変換結果式 で

$1<>$3<>$2<>$4<>$5

とかしてやると

1<>名無しさん<><>2001/02/09(金) 22:49<>〜

みたいにレス番付きでdat化できます。
レス番があれば並べ替えはいろんな方法で可能ですからお好みの方法で
ゴニョゴニョしていただければいいのではないかと。

自分なら
・上の方法で作ったdatをエディタで読ませる
・<>をタブ文字に変換
・EXCELに貼り付け、レス番でソート
・レス番の列を削除
・エディタに貼り戻し、タブ文字を<>に再変換して保存

まあわざわざEXCEL通さなくてもdat形式のままでソートできるツールも
探せばありそうですけどね。

649 ◆/vmukiyuzw:2011/09/28(水) 19:32:31
>>648
また検証もせずに適当なことを書いてしまった・・・

> 自分なら
> ・上の方法で作ったdatをエディタで読ませる
> ・<>をタブ文字に変換
> ・EXCELに貼り付け、レス番でソート
> ・レス番の列を削除
> ・エディタに貼り戻し、タブ文字を<>に再変換して保存

上の手順ですが、EXCELのバージョンにもよるかもしれないですが
1セルに256文字以上1024文字以下の文字を入力すると
"#####〜"と化けてしまうようなのです。
http://support.microsoft.com/kb/410234/ja
数式バーには正しい値が表示されるので見かけだけの問題かと思ったのですが
全体をコピーしてエディタに貼り付けると"#####〜"のままコピーされてしまい
まずいことになります。

若干面倒ですがEXCELVBA使ってセルの内容をdatの形式に結合し
1行ずつテキストファイルに出力する方法のほうが良さそうです。

650 ◆/vmukiyuzw:2011/10/01(土) 23:27:31
しかしまあ単に文字列順でソートするのではダメで、第1フィールドを数値と認識して
ソートしないといけないんで単純にはいきませんね。

どのみちソート後に第一フィールドは切り捨てないと正常な形式のdatにはならないんで
数値ソートの出来るテキストエディタがあれば後処理も含め楽なんでしょうけど、ちょっと
検索したくらいでは見つからないですね。
(秀丸のマクロで数値ソートが出来るものがあったんですが遅すぎてイマイチでした)

コマンドベースのものならいろいろあるんですけどね。
windows標準のsortコマンドは文字列順しかできないのでダメですが、unix系の
sortコマンドならOKですし、他にも例えば
http://www.vector.co.jp/download/file/winnt/util/fh428840.html
とかフィールドを認識してかつ数値ソートができるので良さそうです。
第1フィールドを切り飛ばすのはsedあたりにつないでもらうとして。
s/^[0-9]+?<>//

651名無しさん:2011/11/08(火) 20:38:15
http://logsoku.com/thread/yuzuru.2ch.net/mj/1279288588/
変換方法を参考にdat化を試みたのですが、旨くいきませんでした。

正規表現や前後処理などどのようにすれば宜しいのでしょうか?
教えていただければ幸いです。
お願いいたします。

652 ◆/vmukiyuzw:2011/11/09(水) 20:35:32
>>651さん
logsoku.comについては663 ◆fnwcOWFi56 さんも以前自分の掲示板で考えてくださっているようですが
その時点からログの形式がかなり変更されているようです。
とりあえず考えてみました。

前処理:
# ガラガラを適当に除去
s#<span .*?</span>##igk
s#<script .*?</script>##igk
# ニュー速等のアイコンを2ch形式に補正(663さんのものをアレンジ)
s#<img src="http://cdn.logsoku.com/(img.2ch.net/ico/.+?)&quot;&gt;#sssp://$1#igk
# 「〜回発言」を取り除く(663さんのものをアレンジ)
s#(ID:)<a href=.+?>(.+?)</a>(.*?)\[\d+.+?\]#$1$2$3#igk

正規表現:
m#<a name="(\d+)"></a>\s*(?:<a href="mailto:(.+?)">|<font color=green>)<b>(.+?)</b>(?:</a>|</font>)\s*:\s*(.*?)\s*</dt>\s*<dd>\s*(.*?)\s*<br />\s<br />.*?</dd>#mik


htmlが変に加工されてスペースやタブがやたら挿入されているので\sを多用しています。

653 ◆/vmukiyuzw:2011/11/09(水) 20:43:23
>>652
ちょっと間違えた(あまり影響は無いと思いますが)

# ガラガラを適当に除去
s#<span .*?</span>##igk
s#<script .*?</script>##igk

# ガラガラを適当に除去
s#<span (.|\n)*?</span>##igk
s#<script (.|\n)*?</script>##igk

654651:2011/11/10(木) 22:13:24
◆/vmukiyuzwさん、教えていただきありがとうございます。
そして、御礼が遅くなりまして申し訳ありません。

無事に補完することが出来ました。
自分はどうもオリジナルでパラメータを組むのが不得意で...OTL

また困った時に、お力添えいただければ幸いです。

655名無しさん:2012/01/23(月) 13:59:47
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/769-773
で誘導先が違うようなのでこちらに来ました。

その83なんですが
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/769
の通りやっても「全然ヒットしないので正規表現が正しくないようです」
で変換できません。
htmltodat0.8.18を使わせて頂いております。

656 ◆/vmukiyuzw:2012/01/23(月) 21:04:40
>>655さん
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/769
の回答でほぼ正解だと思うのですが、ガラガラ除去がちょっと足りなくてエラーになってるようです。
前処理の最後に以下を付け加えてみてください。

s#<tr>.*?</tr>\n##igk

それから、変換後のメール欄にゴミが入ってしまうようなので、正規表現は以下のほうが良いと思います。
(1ヶ所半角スペースを足しただけですが)

m#<dt.+?><a name=".+?"></a>([0-9]+) <span>(.+?)</span> (.*?)((?:\d{2}|\d{4})/\d+/.+?)?</dt><dd.*?>(.+?)</dd>#mik

あと、元のレス(485-487)には書かれていて769では書き漏れされてるようですが

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

も必要ですね。

# ただ自分が見た限りではもともと2ch上ではメール欄が入ってるレスでも
# そのサイトに持ってきた時点でメール欄は消滅してしまうようです
# それならメール欄逆転とか使わない他の方法も考えられますが、元のアイデアを尊重しておきます

657655:2012/01/23(月) 23:25:46
変換できました。

>>656さん 本当にありがとう。<(_ _)>

658657:2012/01/28(土) 20:46:17
>>657ではお世話になりました。<(_ _)>

また、その83なのですが、http://4ch.viewerd.com/hgame2/1326818225
「1行が長すぎるか、正規表現が正しくないようです」がでました。
1001まで変換はされているのですが、JANEで読むと、1001が
1001 名前:ここ壊れてます[] 投稿日:
になります。

htmltodatの正規表現の表示レスを1〜1001 にすると「1行が長すぎるか〜
は出ませんがやはり 1001 名前:ここ壊れてます[] 投稿日:
になります。
修正可能でしたらよろしくお願いします。

659 ◆/vmukiyuzw:2012/01/28(土) 22:41:40
>>658さん
まず、「1行が長すぎるか、〜」のエラーが出るのは、スレ内容の前だけではなく後ろにも
ガラガラが多くて、1001までの変換は完了しているのにその後も残りのHTMLの変換を試みて
エラーになっちゃうようです。珍しいケースですがありえない話ではないですね。
変換自体は成功しているのでこのエラーは無視してもいいと思いますが、気になるようなら前処理に

s#<div class=.*?</div>\n##igk

とでも足せば消えると思います。(この辺はまあ適宜に)

あと1001が「ここ壊れてます」になるのは、そもそも元の正規表現が1001の形式にうまく対応できて
いないようです。>>655-656で挙げられたスレでも発生しているのでは?

ちょっと泥縄的対応ですが

m#<dt.+?><a name=".+?"></a>([0-9]+) <span>(.+?)</span> (.*?)((?:(?:\d{2}|\d{4})/\d+/)?.+?)</dt><dd.*?>(.+?)</dd>#mik

もしくはいっそ、現状(メール欄が存在していない)に合わせて無駄な部分を取っ払って

m#<dt.+?><a name=".+?"></a>([0-9]+) <span>(.+?)</span> ()(.*?)</dt><dd.*?>(.+?)</dd>#mik

とかでも多分問題ないと思います。

660658:2012/01/29(日) 15:16:54
「ここ壊れてます」出なくなりました。
◆/vmukiyuzwさん、本当にありがとう。<(_ _)>
ありがとう。<(_ _)>


新着レスの表示


名前: E-mail(省略可)

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

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

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

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