2chのDATファイルを、PHPでMySQLに保存する方法を検討
2chのDATファイル仕様が、以下のページにまとめられていた。
monazilla/datの仕様
http://info.2ch.net/wiki/index.php?monazilla%2Fdat%A4%CE%BB%C5%CD%CD
名前<>E-mail<>日付とIDとBE<>本文<>スレッドタイトル 名前<>E-mail<>日付とIDとBE<>本文<> 名 </b>fusianasan.2ch.net<b>前<>E-mail<>日付とIDとBE<>本文<> 名前 </b>◆ozOtJW9BFA <b><>E-mail<>日付とIDとBE<>本文<> キャップ ★<>E-mail<>日付とIDとBE<>本文<> 名前 </b>◆ozOtJW9BFA <b>@キャップ ★<>E-mail<>日付とIDとBE<>本文<> あぼーん<>あぼーん<>あぼーん<>あぼーん<>あぼーん ...
基本的には、1行ずつ読み込んで、「<>」で分割して保存すればOK
日付とID(BE)は、以下のように「半角スペース」で区切られている。
2009/12/27(日) 21:11:40 ID:GwPHbQvp
[response]テーブル
カラム名 | データ型 | 内容 |
id | int | auto_increment |
dat | int | DATファイル名 |
res_num | int | レス番号 |
name | varchar(255) | 名前 |
varchar(255) | ||
date | varchar(255) | 日付、ID、BEのデータ |
message | text | 本文 |
DBに保存する場合は、エスケープする必要あり?
YYYY/MM/DD(W) hh:mm YY/MM/DD hh:mm YY/MM/DD hh:mm:ss Y: 年 M: 月 D: 日 W: 曜日 (漢字で1文字) h: 時間 (24時間) m: 分 s: 秒現在では、日付の書式も掲示板設定で変えられるようになっており、既定通りの記録がなされているとは限らないらしい。
" 1行目 " " 2行目 " " 3行目 " ...
具体的には/unix/1000022300/143で、以下のような形をしています。
" 1行目" "2行目" ... "最後の行 "見れば分かりますが、最初と最後にしか、空白がついていません。
HTML表示する際には、半角スペースがあっても特に影響ないので、そのままでOK?