I'm using the newest version of the chrome browser on a mac book air with the newest OS. I'm trying to create a BBcode parser in javascript. I can easily parse one line code such as [b]a[/b] but when it's multiple lines, it doesn't find it. I did some research and found out javascript has some problems with the multiline (m) tag. I tried some alternative solutions and none of them seem to work. Here are some of my attempts:

var reg = new RegExp('\\[b\](.+)\\[\/b\]','igm');
var reg = new RegExp('\\[b\]([\s\S]+)\\[\/b\]','ig');
var reg = new RegExp('\\[b\]([^]+)\\[\/b\]','ig');
var reg = new RegExp('\\[b\]([\n|\r|.]+)\\[\/b\]','ig');

http://jsfiddle.net/zw6wF/1/

Any help would be appreciated.

Thanks

有帮助吗?

解决方案

This must work:

 var reg = new RegExp('\\[b\\]([\\s\\S]+?)\\[/b\\]', 'ig');

or better:

var reg = new RegExp('\\[b]([\\s\\S]+?)\\[/b]', 'ig');

since you don't have to escape closing square brackets

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top