Processing math: 100%
liuziting 2009-06-19 01:11
浏览 281
已采纳

JS正则表达式如何取下面的字符

例如像javaeye论坛这个编辑器一样的
如果我单击List按钮就会生成下面的列表
[code="java"]
[list]
[*]
[/list]
[/code]

现在我要转换成如下



    • 但是用正则表达式子去不到换行符。。。

      我下的正则表达式如下:
      reg = /[list]\n(.*?)\n[\/list]/g;

      就是没有办法取到
      [code="java"]
      [list]
      [*]
      [/list]
      [/code]

      取到的都是空,还望大家指点
      [b]问题补充:[/b]
      还是没看懂什么意思。能说清楚点吗?

      我把你的代码拷贝到编辑器里运行了,弹出信息,跟我上面的要求有关吗?

      孺子不教,请多指教。
      [b]问题补充:[/b]
      很感谢您的回复。

      目前我也像您一样,做到了这样的一步
      [code="java"]
      var list = '[list]\n[*]\n[/list]';

      var reg = /[list]\n(.*?)\n[\/list]/g;
      [/code]

      定义了上面两个变量,并且写好了如同您给我第一个回答那样的正则表达式。

      我现在画面上有个按钮,就像JAVAEYE网站上编辑器中的List按钮一样(就在您给我回复的时候,上面有按钮可以按出来,有Code,有B等等)。

      同样我按下List按钮,在我的textarea入力框中会显示如下代码
      [code="java"]
      [list]
      [*]
      [/list]
      [/code]

      我是在单击按钮的时候,直接把
      [code="java"]
      var list = '[list]\n[*]\n[/list]';
      [/code]
      值写到了textarea框中,写进去的时候"list"换行显示在了textarea中,和javaeye网站的编辑器一样,换行显示了。问题是,我再去取的时候,用正则表达式去取,并想替换成
      [code="java"]
      [ul]
      [li]
      [ul]
      [/code]
      就怎么也取不到了,我取的方式如下:
      [code="java"]
      var str = "";
      str = $("#editor_text").html();//editor_text就是textarea入力框
      [/code]
      用上面的正则表达式
      [code="java"]
      var reg = /[list]\n(.*?)\n[\/list]/g;
      [/code]
      怎么也匹配替换不到了。
      但是我输入判断语句,确实又存在"\n"
      [code="java"]
      if(text.indexOf("\n") != -1)
      {
      alert("测试是否有换行!");
      }
      [/code]
      测试证明换行确实存在。

      如果您还不明白,简单的说,我就是想做一个和javaeye的【list】按钮一样的功能,并且在预览的时候能看到【ul】的效果。

      谢谢。

      [b]问题补充:[/b]
      你好。
      还是不行,两个取出来的字符串是一样的。
      [code="java"]
      var val = $("#editor_text").val();
      alert(val);
      alert($("#editor_text").html());
      [/code]

      取出来的值都是
      [code="java"]
      [list]
      [*]
      [/list]
      [/code]
      这样的字符串
      [b]问题补充:[/b]
      源代码比较避讳了。实在抱歉。

      你能把你写的发给我看看吗?

      我这里确实取不到啊。

展开全部

  • 写回答

4条回答 默认 最新

  • ywbanm 2009-06-19 04:16
    关注

    不知道你那为什么不行
    我这试了是可以的
    你能把你的测试脚本发上来么

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 python 下载群辉文件
  • ¥50 代码还没怎么运行但是需要代码功能调用数据
  • ¥15 vue请求不到数据,返回状态200,数据为html
  • ¥15 访问url时不会自动调用其 Servlet的doGet()
  • ¥15 用白鹭引擎开发棋牌游戏的前端为什么这么难找
  • ¥35 哪位专业人士知道这是什么原件吗?哪里可以买到?
  • ¥15 关于#c##的问题:treenode反序列化后获取不到上一节点和下一节点,Fullpath和Handle报错
  • ¥15 一部手机能否同时用不同的app进入不同的直播间?
  • ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
  • ¥15 点云密度大则包围盒小
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部