正则问题

stroll 2003-01-01 01:47:00
做到论坛了,考虑用XML传输……然后在客户端进行UBB->HTML转化……
不过受到IE版本的限制,5.0对正则支持非常有限~~

低版本
re = /\[B\](.[^\[]*)\[\/B\]/gi;
Str = Str.replace(re,"<B>$1</B>");
无法嵌套……

如果能用
re = /\[B\](.*?)\[\/B\]/gi;
Str = Str.replace(re,"<B>$1</B>");
就能很好的嵌套了……

写了个测试要找网友测试……
http://asp2.6to23.com/gao986/strollfile/test.htm
谁知道元旦一个人也没有~~~晕死……

所以就想自己编写函数来代替正则,不过写到一半发现太繁杂,不爽~~
http://asp2.6to23.com/gao986/strollfile/ubb.htm

问题1:
IE5.0是否支持 $1、$2 最小匹配 ? 语法?哪里有这类说明?参考script5.6不见正则版本限制说明……
问题2:
有没有别的写法代替 (.*?)



...全文
75 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟繁光 2003-01-06
  • 打赏
  • 举报
回复
呵呵
stroll 2003-01-01
  • 打赏
  • 举报
回复
晕死……这个论坛~~~ 我已经结贴了,而且管理里面也显示已经给分~~怎么无法转移到已解决的板块中~~~~
stroll 2003-01-01
  • 打赏
  • 举报
回复
晕死……这个论坛~~~ 我已经结贴了,而且管理里面也显示已经给分~~怎么无法转移到已解决的板块中~~~~
stroll 2003-01-01
  • 打赏
  • 举报
回复
我仔细察看了一下那个代码,并不能达到正则转化的效果.

因为里面不进行判断的直接把
  • -><*>
  • [/*]-></*>
    以及无法进行一些关键字的屏蔽等

    我决定自己写一个UbbToHtml 的解释函数了 ^-^

    对你的帮助再次表示感谢 ^-^
saucer 2003-01-01
  • 打赏
  • 举报
回复
it may be an overkill, but UBB looks like XML, replace "[" with "<" and "]" with ">", then use XSL to transform XML into HTML

also, here is some script in VBScript which seems to convert UBB into HTML:
http://c2c.yesky.com/book/html/2218.html
stroll 2003-01-01
  • 打赏
  • 举报
回复
Thanks saucer(思归, MS .NET MVP)

哦,现在知道 $1...$9 支持了

因为UBB代码不只是[B]-><B>的形式,还有


->
<img src="http://xxx/xx.gif">

[size=5]xxx[/size]
->
<font size="5">xxx</font>
所以只有用正则表达式才能方便的进行转化

在server端进行转化是常规做法,不过有些不小心填写不规则的UBB代码会生成不规则的HTML代码,如果把这类转化后的代码嵌入到XML的节点中……可能会导致错误而无法进行解析……

如果实在没办法,只好自己编写UBB解析函数来代替正则转化了
或则用
re = /\[B\](.[^\[]*)\[\/B\]/gi;
Str = Str.replace(re,"<B>$1</B>");
这类写法……
saucer 2003-01-01
  • 打赏
  • 举报
回复
$1...$9 Properties is supported since version 1.0

I am not familiar with UBB, but what cannot you just replace "[" with "<", "]" with ">"?

also, you can always do the transformation on the server side

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧