2ちゃんねる用ブラウザ「twintail」Part24

このエントリーをはてなブックマークに追加
968名無しさん@お腹いっぱい。
【不具合?】
ブラウザでみるとリモホが表示されるのにtwintailでみると表示されないレスがある

表示されないレス(ブラウザでは表示される)
http://qb5.2ch.net/test/read.cgi/saku/1157159821/296
296 名前:山師さん [sage] H 2009/06/05(金) 00:19:25

表示されるレス
http://qb5.2ch.net/test/read.cgi/saku/1157159821/297
297 名前:小池 あかり [] HOST:EM114-48-132-66.pool.e-mobile.ne.jp<8080><3128><8000><1080> 09/06/07 23:58
969名無しさん@お腹いっぱい。:2009/07/06(月) 23:10:03 ID:fBZclvkI0
IDの色付け以降リモホ表示、ID●がうまくいってないと思う
970名無しさん@お腹いっぱい。:2009/07/06(月) 23:18:08 ID:7693ERSW0
>>968
基本的にリモホ表示はされないものと思って良い。
以前要望が出て、今度対応するとのこと。
971名無しさん@お腹いっぱい。:2009/07/06(月) 23:18:14 ID:VQuRTHwm0
よくわからないけど悪いのは俺ってこと?
972名無しさん@お腹いっぱい。:2009/07/06(月) 23:19:21 ID:VQuRTHwm0
了解
973水玉 ◆qHK1vdR8FRIm :2009/07/07(火) 18:47:25 ID:gvrv5udU0
>>968

見つけました。
 StandardHtmlSkin.cs:Convert(string skinhtml, ResSet resSet)

            #region 日付とIDを作成
            dateString = resSet.DateString;
            dateonly = resSet.DateString;

            Match m = Regex.Match(resSet.DateString, @"\d{4}/\d{2}/\d{2}\(\w\)\s\d{2}:\d{2}:(\d{2}.\d{2}|\d{2})(\s[0-9a-zA-HJ-Z])?");
            if (m.Success)
            {
                dateonly = m.Value;
            }
            #endregion

 これだと日付がYYYY/mm/dd (曜)以外マッチしなくて、偶然HOSTが表示されているのでした
 ([名前]<>[メール]<>{日付部分}<>の{日付部分}にHOSTも含まれるので)。
 そしてちゃんと日付がマッチしたレスでは正規表現後半の(\s[0-9a-zA-HJ-Z])?
 にマッチする文字列つまりHOST....がついてくる、と期待されているようなのですが
 この正規表現だと「H」で終わってしまい、結果リモホが表示されないのです。
974水玉 ◆qHK1vdR8FRIm :2009/07/07(火) 18:54:15 ID:gvrv5udU0
<DATEONLY />の定義(>>9)「IDや株やBEを除いた日付部分。」をそのまま実装してみます。

#region 日付とIDを作成
dateString = resSet.DateString;
dateonly = resSet.DateString;
// NTwin23.108
//Match m = Regex.Match(resSet.DateString, @"\d{4}/\d{2}/\d{2}\(\w\)\s\d{2}:\d{2}:(\d{2}.\d{2}|\d{2})(\s[0-9a-zA-HJ-Z])?");
// 本当にDatetimeのみ欲しい場合
//Match m = Regex.Match( resSet.DateString , @"(\d{2,4}/\d{2}/\d{2})(\(\w\))?\s\d{2}:\d{2}(:\d{2}(.\d{2})?)?" );
//if (m.Success)
//{
// dateonly = m.Value;
//}
// IDを除外する
dateonly = Regex.Replace( resSet.DateString , @"(ID:(?<id>[^\s●]+))|(\[(?<id>[^\\]]+)\])" , "" );
// BEも除外する
dateonly = Regex.Replace( dateonly , @"BE:(?<id>\d+)(\-|:)(?<rank>.+)" , "" );
// NTwin23.108

#endregion
株って。。。?
「<a href="http://2ch.se/">株</a>」が日付部分にぶち込まれるのですね。
こりゃうっとーしいから除去。
// 株も除外する
dateonly = Regex.Replace( dateonly , @"<a href="http://2ch.se/">株</a>" , "" );

296 山師さん [sage] :2009/06/05(金) 00:19:25 HOST:103.73.100.220.dy.bbexcite.jp unknown
297 小池 あかり [] :09/06/07 23:58 HOST:EM114-48-132-66.pool.e-mobile.ne.jp<8080><3128><8000><1080> unknown

# TABをスペースに変換すると本文が長すぎるって怒られる...
975水玉 ◆qHK1vdR8FRIm :2009/07/07(火) 18:56:23 ID:gvrv5udU0
ところで、IDとHOSTが一緒に取得できる2ちゃんねる板ってあるのでしょうか?
外部なら、こーいうhttp://abiyachat.sakura.ne.jp/test/read.cgi/2ch1/1238154544/のとか
で、Twin2IeHtmlSkin.cs:IDColoring()に
        // ホスト名がある場合は追加
        if (!String.IsNullOrEmpty(res.Host))
        {
            replacement = String.Concat(replacement,
                " <font size=\"-1\">[ ", res.Host, " ]</font>");
        }
とあったので試してみたらなんかおかしい。
ResSet.cs:ResSet
        //private static readonly Regex HostRegex =
        //    new Regex(@"<font size=1>\[\s(?<host>[^\s]+)\s]</font>", RegexOptions.Compiled);
        private static readonly Regex HostRegex =
            new Regex( @"(?<host>HOST:.+)" , RegexOptions.Compiled );
こうじゃないかな?
でやるとHOST:...が2つ表示されてしまう。
<DATEONLY />の定義を変えないと(本当にDateTimeだけにして、それ以外の既知のタグを増やす)
ここは混乱の渦に。。。
976名無しさん@お腹いっぱい。:2009/07/07(火) 19:50:18 ID:PadGgxj20
難しい話はよくわかんないけど>>975はまちBBS用では?
977名無しさん@お腹いっぱい。:2009/07/07(火) 22:34:06 ID:39cQx1zb0
要望

この板5000レスでスレストなんだけど
http://cha2.net/cgi-bin/anitoku/
1000レスを超えると次スレ案内が発動してウザいので
スレ毎(あるいは板毎)にスレストになるレス数を設定できるようにしてほしい
978名無しさん@お腹いっぱい。:2009/07/07(火) 22:37:35 ID:XrmvvkAK0
水玉御苦労、いい働きじゃ
てつとたんの復帰がたのしみじゃ
免許取得まーだー?
979名無しさん@お腹いっぱい。:2009/07/08(水) 20:05:53 ID:LQrbIzbE0
そういえばずっと不便に思っていたことを思い出した。

書き込み欄(窓)を開くと常に最前面で最小化もできないのは設定でなんとかなります?
980名無しさん@お腹いっぱい。:2009/07/08(水) 20:10:01 ID:gpbVh1tp0
ならないかな
981名無しさん@お腹いっぱい。:2009/07/08(水) 20:10:31 ID:VyT4J1+D0
設定>投稿>非あくちぶ時になんちゃら
がある。

個人的には他のダイアログみたく、ESCキーで閉じて欲しいな。
982名無しさん@お腹いっぱい。:2009/07/08(水) 20:22:24 ID:LQrbIzbE0
>>981
おお!気付かなかった!
微妙に中途半端な感じと挙動不審な感じがあるけどこれなら窓をドラッグして避けなくても済みます。

どうもありがとう!
983名無しさん@お腹いっぱい。:2009/07/08(水) 20:29:04 ID:gpbVh1tp0
ああ読み間違えてた 最小化にしたかったのかw
次スレ立ててくる
984名無しさん@お腹いっぱい。:2009/07/08(水) 20:32:26 ID:gpbVh1tp0
次スレ
2ちゃんねる用ブラウザ「twintail」Part25
http://pc12.2ch.net/test/read.cgi/software/1247052653/
985名無しさん@お腹いっぱい。:2009/07/08(水) 20:34:28 ID:VyT4J1+D0
おつおつ
986名無しさん@お腹いっぱい。:2009/07/08(水) 20:39:46 ID:LQrbIzbE0
>>984
乙です。

文章で他人に言いたいことを伝えるのはむずかしいことでw
わかりにくかったらすみませんでした。
987名無しさん@お腹いっぱい。:2009/07/08(水) 22:41:04 ID:ZTp4pj860
1000スレまでいってダブルクリックで次スレ探すときに、エラーもなしに落ちるのはなぜ・・・
988名無しさん@お腹いっぱい。:2009/07/09(木) 05:07:28 ID:mkTzg01X0
>>987
私の環境では一度も落ちた事ない。
どのスレ?
989名無しさん@お腹いっぱい。:2009/07/09(木) 11:43:13 ID:GUL7t64k0
>>979
俺もそれ思ってた
XP使ってたときは出来てたけど、vistaにしたら出来なくなっちゃった…
990水玉 ◆qHK1vdR8FRIm :2009/07/09(木) 13:24:30 ID:+Tu8QIfZ0
>>976
> 難しい話はよくわかんないけど>>975はまちBBS用では?
あーホントだ。DATに「<font size=1>[ リモホ ]</font>」の形でリモホが埋まってるのですね。
で専用対応としてResSet.Hostプロパティで取り出して付加していると。
なら2重に出力されないために>>974で除去しておいて
// まちBBSタイプのリモホを除外(ResSet.Hostプロパティで付加するため)
dateonly = Regex.Replace( dateonly , @"<font size=1>\[\s[^\s]+\s]</font>" , "" );

16 東京都名無区 [sage] :2009/01/17(土) 11:08:53 ID:zx0CF9bM [ ZG096165.ppp.dion.ne.jp ] unknown

これでまちBBSは2.3.5.5と同じになったし、saku板でもちゃんとリモホが表示できるようになった、かな?