Codejie's C++ Space

Using C++

LingosHook:Lingoes生词本第十一版


    这几天收到的最多的错误报告就是HTML解析异常,么办法,谁叫LingosHook的HTML解析对象是咱自己写的,稍微不合规则点的HTML数据,TinyHtmlParser都不认识。甚至连合规则的HTML标准注释'<--!-->'都不认识。。。。嗯,我知道这样不太靠谱。。。
    为了保证TinyHtmlParser能够正确解析,就需要先‘预处理’一下HTML数据,使其能够符合标准点。对于这样的需求,一个不二的库就出现了--Tidylib。这个库怎么用就不说了,因为我也不太熟悉,嘿嘿,我使用的代码请见这里
    此次修改就是为了减少解析HTML数据时产生异常出频度,因此界面上基本没有变化,就直接上配置界面了。下载在这里



    如图所示,这个选项默认是开启的,因此想来像我这样就使用一个或两个词典的人应该不多,加上就使用vicon的更应该不多了,最主要的使用其它词典而碰到异常的人应该很多很多,所以默认开启此项。此项开启会引起性能的降低,当然了这个降低只是代码理论上的,实际使用中是看不出来的。只是有影响,咱最好就提供个选择,民主点了。。。

    下面的图是Debug界面图,就是原来的Trace界面,可以看到添加了一个Text和一个Button,便于调试,现在我能很快定位异常位置了,不需要像前面写代码了。。这里贴下就给大家看看,也想说下,实际给自己留好调试的后门,是很必要的。。

posted on 2010-05-14 00:27 codejie 阅读(1801) 评论(7)  编辑 收藏 引用 所属分类: 轮子精神LingosHook

评论

# re: LingosHook:Lingoes生词本第十一版[未登录] 2010-05-14 08:39 goodname

甚至连合规则的HTML标准注释'<--!-->'都不认识。。。。嗯,我知道这样不太靠谱。。。

标准注释应该是<!-- -->吧?
我记得早年写web程序的时候就是这样的。

你提到的写法是新的规范吗?
探讨下。  回复  更多评论   

# re: LingosHook:Lingoes生词本第十一版 2010-05-14 10:37 codejie

@goodname
嗯,不用探讨,这个是我乱写的。。。  回复  更多评论   

# re: LingosHook:Lingoes生词本第十一版 2010-05-14 10:54 丽可酷

此项开启会引起性能的降低,当然了这个降低只是代码理论上的,实际使用中是看不出来的。只是有影响,咱最好就提供个选择,民主点了。。。
  回复  更多评论   

# re: LingosHook:Lingoes生词本第十一版 2010-05-14 11:01 codejie

这里检讨下,这个版本有个bug,会引起异常错误(显示一个异常对话框,说HTML数据不匹配),原因是buffer忘记清零了。这个我晚上就改,不好意思~  回复  更多评论   

# re: LingosHook:Lingoes生词本第十一版 2010-05-14 11:03 codejie

@丽可酷
这句话写的有点晕。。。我意思是‘大家都是强力电脑,这点性能上的影响可以忽略’。。。  回复  更多评论   

# re: LingosHook:Lingoes生词本第十一版[未登录] 2010-05-17 15:16 v

有个问题,算bug吧。

今天才发现的,截图不好发,我简单说。

查词“disparity"——发现捕捉到了,很好——查看它对应的result——明明本意为“n.不一致 ,[医]差异,不等”,悲剧地发现在result里,两个“不”字都被省略了,啊啊啊。

请codejie核对下,是不是我个人的原因。

谢谢,这个生词本比较好用。  回复  更多评论   

# re: LingosHook:Lingoes生词本第十一版 2010-05-17 16:07 codejie

@v
一样杯具的还有很多人,比如我。。。这个问题开始就发现了,但我没有说,因为--我也怀疑是个人原因~后来这个问题见多了,也就得过且过了。。
在编码间转换时会丢失一些特殊的字,但又不是每次都丢失,我也没有找到理由。咱们记下这个bug先,反正我现在没有任何办法搞定它~(后面的版本可能不再解析词典,这个问题就可以躲过了,嘿嘿。。。)  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


公告

Using C++

导航

统计

留言簿(73)

随笔分类(513)

积分与排名

最新评论

阅读排行榜

评论排行榜