支持连接识别、字体、颜色、表情了 ! (0分)

  • 主题发起人 主题发起人 yysun
  • 开始时间 开始时间
[url="傲剑江湖"
logo.gif
[/url]
 
I try also.
<a href=http://www.delphibbs.com/delphibbs/images/format.htm >http://www.delphibbs.com</a>


 
我已经完成了客户端 ubb tag 处理的 Javascript (用正则表达式处理,速度很快)。
不试验不知道,一试吓一跳,IE 5.5 与 IE 5 的差别还真不少。
在 scripting engine,behavior 等方面都不同。
我现在的方法,IE 5 还是不行,需要 IE 5.5。这下犯难了。难道要宣布放弃 IE 5?
 
哈哈哈
如果不能保留老版本,还是不要放弃吧
要求用户下个XML控件也就罢了,要求升级到5.5就太夸张了点吧
 
  难怪!我说怎么那么多帖子看起来都变成莫名其妙的 HTML 以及 UBB 了呢。
 
[h1 style="font-color=red"]aaa[/h1]
 
yysun:这个问题我在1月份就给SynEdit的管理员提过意见了,你看到已经是
经过修改的,但是它修改得不完善,应该是先判断MBCS,再转意解释才对。
而且改了这里,转意表就不用修改了。
修改如下:
[DELPHI]
{$IFDEF SYN_MBCSSUPPORT}
if (AToken[ISrc] in LeadBytes) and (AToken[ISrc + 1] <> #0) then
//mh 2000-10-10
begin
Replace := ReplaceMBCS(AToken[ISrc], AToken[ISrc + 1]);
Inc(ISrc, 2);
end else
{$ENDIF}
if fReplaceReserved[c] <> nil then
begin
Replace := StrPas(fReplaceReserved[c]);
Inc(ISrc);
end else
begin
if IDest > DestLen then
begin
Inc(DestLen, 32);
SetLength(Result, DestLen);
end;
Result[IDest] := c;
Inc(ISrc);
Inc(IDest);
continue;
end;

[/DELPHI]
另外,如果你用到他的那些Highlighter,需要做一些改动:
就是修改UnknownProc,否则也会有MBCS问题:
以TSynCppSyn为例,修改如下,其他的Highlighter也一样:
[DELPHI]
procedure TSynCppSyn.UnknownProc;
begin
{$IFDEF SYN_MBCSSUPPORT}
if FLine[Run] in LeadBytes then
//if FLine[Run] is the leadbyte of MBCS char,then
jump 2 chars.
Inc(Run,2)
else
{$ENDIF}
Inc(Run);
fTokenID := tkUnknown;
end;

[/DELPHI]
 
[DELPHI]
procedure TSynCppSyn.UnknownProc;
begin
{$IFDEF SYN_MBCSSUPPORT}
if FLine[Run] in LeadBytes then
//if FLine[Run] is the leadbyte of MBCS char,then
jump 2 chars.
Inc(Run,2)
else
{$ENDIF}
Inc(Run);
fTokenID := tkUnknown;
end;
[/DELPHI]
 
yysun:如果实在想用正则表达式,也许只好用vbscript了,ie5之后就带RegExp了。
 
不对啊,javascrip也有啊RegExp
 
soul, 我已经上载了 replace1.asp。全部用正则,才6k,而用 asp 的 replace.asp 15k。
我的机器上测试通过的,但是服务器端不支持(可能需要更高版本的 JScript 引擎)。
 
yysun: 我把它改成vbscript版本的吧,server端两种script混用不太好啊。
而且vbscript完全支持正则表达式啊 。
 
大家测试这段代码在您的浏览器中是否可以运行?
<script>function matchDemo()
{
var s;
var re = new RegExp("d(b+)(d)","ig");
var str = "cdbBdbsbdbdz";
var arr = re.exec(str);
s = "$1 保存: " + RegExp.$1 + "<BR>";
s += "$2 保存: " + RegExp.$2 + "<BR>";
s += "$3 保存: " + RegExp.$3;
return(s);
}
alert(matchDemo());
</script>
 
每个内容用 id 标记好,在内容结束后调用修改其中内容。
比如
<script>
function rep(L)
{
处理.....
L.innerHtml=replllll(L.innerHtml);
}
</script>
.....
<div id=L1>
......content....
</div>
<script>rep(L1);</script>
 
yysun:谁来干?
呵呵。
 
这个功能上您分配一下工作吧,我怕改乱了。
订阅邮件通知有问题了,怎么回事?
 
后退
顶部