複製內容到剪貼板
代碼:
OnRSSComplete
{
_n = ARRAYSIZE(reference);
if ( _n <= 1 ) { //無更新
OnHeadlinesenseComplete('RSS');
return;
}
_title = RemoveSakuraScript(reference[0]);
_txt = '\1\s[10]\0\s[0]\b[4]\![set,choicetimeout,-1]\![set,balloontimeout,-1]\_q\f[bold,true]' + _title + '的RSS\f[bold,false]\n[200]';
for _i = 2 ; _i < _n ; _i++ {
_str = SPLIT(reference[_i],',');
_str[0] = REPLACE(_str[0],']','\]');
_str[0] = MakeShortText(_str[0],43);
_txt += ">> %(_i - 1) \q[%(_str[0]),OnRSSLink,%(_str[1])]\n";
}
_txt += "\n\![*]\q[連結,%(reference1)]\n/
\![X]\q[關閉,CANCEL_NOTALK]\_q\e";
_txt;
}
OnRSSLink
{
"\j[%(reference0)]";
}
將這段取代原本的OnRSSComplete事件就可以了
如果人格中沒有RemoveSakuraScript或MakeShortText函式的話則要再插入下面這幾段
複製內容到剪貼板
代碼:
//---- 清除非字串部份(櫻語語法) ---------------------------------
RemoveSakuraScript
{
_txt = RE_REPLACE(_argv[0],'\\_{0,2}[a-zA-Z0-9*!&](\d|\[("([^"]|\\")+?"|([^\]]|\\\])+?)+?\])?','')
_txt = REPLACE(_txt,'\\','\') // '
_txt;
}
複製內容到剪貼板
代碼:
//---- 切除過長字串 --------------------------------------------
MakeShortText
{
if _argc < 2 {
'';
return;
}
_num = _argv[1] / 2
_len = STRLEN(_argv[0])
_txt = ''
if _num >= _len {
_argv[0]
return;
}
_lendiff = 0
while 1 {
_txt = SUBSTR(_argv[0],0,_num)
_lendiff = GETSTRBYTES(_txt,127) - _argv[1] + 1
if _lendiff >= 0 {
break;
}
_num += 1
if _num >= _len {
break;
}
}
if _num >= _len {
_argv[0]
}
else {
_txt = SUBSTR(_argv[0],0,_num - 1)
if _lendiff == 0 {
_txt += '..'
}
else {
_txt += '...'
}
_txt;
}
}
[
本帖最後由 時原砂 於 2008-6-17 15:50 編輯 ]