我想做个和这个类似的编辑器,比如写个标签
"怎么解析"
"怎么解析"我想知道csdn是如何来解析这样的代码的

解决方案 »

  1.   

    整个Parser类了,专门负责转换工作,比如htmlToEditCode()、editCodeToHtml(),然后整个一一对应的翻译表在类里面(或者在配置文件里面更好,容易扩展),每次的帖子之类的读取和写入数据库都经过一次Parser,我以前写论坛编辑器的时候就是这么用的,虽然只是个练手的项目,一般项目都是直接拿来开源编辑器的用的,但是自己写学到很多javascript的东西。希望有高手提出更好的方案,我瞻仰一下。
      

  2.   

    上面的好像转译了
    [ url=..][i]怎么解析[i][ /url]
    我要让我的文本是斜体+粗体,而不是上面显示的那样,
    我应该怎么写 正则啊?如二楼所说,我只想知道editCodeToHtml 怎么匹配出来
      

  3.   

    写正则没用,因为有很多标签是无效的,比如[abc][/abc],就没有必要进行转译,因为转译以后也根本不是HTML标签。还有比如[meta http-equiv="refresh" content="0;url=hello.html"]之类的,按正则转义就完了,页面直接跳转了。所以我的方法是用两个Map保存,一个Map保存[]之类的字符串,另一个保存HTML,两者用的key相同,然后通过遍历进行替换,当然,效率是低了点。
      

  4.   

    我现在不会匹配标签对,比如我怎么匹配最外层的标签对
    注明:最外层不一定是url标签对