Skip to content

Commit 72c312e

Browse files
committed
- Working with multiple layers of codes #2
- Target blank bbcode does not work #4
1 parent 4151bc4 commit 72c312e

File tree

2 files changed

+28
-28
lines changed

2 files changed

+28
-28
lines changed

parser.js

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -112,37 +112,37 @@
112112
var bbCodeParser = new BBCode({
113113
'\\[br\\]': '<br>',
114114

115-
'\\[b\\](.+)\\[/b\\]': '<strong>$1</strong>',
116-
'\\[i\\](.+)\\[/i\\]': '<em>$1</em>',
117-
'\\[u\\](.+)\\[/u\\]': '<u>$1</u>',
115+
'\\[b\\](.+?)\\[/b\\]': '<strong>$1</strong>',
116+
'\\[i\\](.+?)\\[/i\\]': '<em>$1</em>',
117+
'\\[u\\](.+?)\\[/u\\]': '<u>$1</u>',
118118

119-
'\\[h1\\](.+)\\[/h1\\]': '<h1><a href="$1" name="$1">$1</a></h1>',
120-
'\\[h2\\](.+)\\[/h2\\]': '<h2><a href="$1" name="$1">$1</a></h2>',
121-
'\\[h3\\](.+)\\[/h3\\]': '<h3><a href="$1" name="$1">$1</a></h3>',
122-
'\\[h4\\](.+)\\[/h4\\]': '<h4><a href="$1" name="$1">$1</a></h4>',
123-
'\\[h5\\](.+)\\[/h5\\]': '<h5><a href="$1" name="$1">$1</a></h5>',
124-
'\\[h6\\](.+)\\[/h6\\]': '<h6><a href="$1" name="$1">$1</a></h6>',
119+
'\\[h1\\](.+?)\\[/h1\\]': '<h1><a href="$1" name="$1">$1</a></h1>',
120+
'\\[h2\\](.+?)\\[/h2\\]': '<h2><a href="$1" name="$1">$1</a></h2>',
121+
'\\[h3\\](.+?)\\[/h3\\]': '<h3><a href="$1" name="$1">$1</a></h3>',
122+
'\\[h4\\](.+?)\\[/h4\\]': '<h4><a href="$1" name="$1">$1</a></h4>',
123+
'\\[h5\\](.+?)\\[/h5\\]': '<h5><a href="$1" name="$1">$1</a></h5>',
124+
'\\[h6\\](.+?)\\[/h6\\]': '<h6><a href="$1" name="$1">$1</a></h6>',
125125

126-
'\\[p\\](.+)\\[/p\\]': '<p>$1</p>',
126+
'\\[p\\](.+?)\\[/p\\]': '<p>$1</p>',
127127

128-
'\\[color=(.+)\\](.+)\\[/color\\]': '<span style="color:$1">$2</span>',
129-
'\\[size=([0-9]+)\\](.+)\\[/size\\]': '<span style="font-size:$1px">$2</span>',
128+
'\\[color=(.+?)\\](.+?)\\[/color\\]': '<span style="color:$1">$2</span>',
129+
'\\[size=([0-9]+)\\](.+?)\\[/size\\]': '<span style="font-size:$1px">$2</span>',
130130

131-
'\\[img\\](.+)\\[/img\\]': '<img src="$1">',
132-
'\\[img=(.+)\\]': '<img src="$1">',
131+
'\\[img\\](.+?)\\[/img\\]': '<img src="$1">',
132+
'\\[img=(.+?)\\]': '<img src="$1">',
133133

134-
'\\[email\\](.+)\\[/email\\]': '<a href="mailto:$1">$1</a>',
135-
'\\[email=(.+)\\](.+)\\[/email\\]': '<a href="mailto:$1">$2</a>',
134+
'\\[email\\](.+?)\\[/email\\]': '<a href="mailto:$1">$1</a>',
135+
'\\[email=(.+?)\\](.+?)\\[/email\\]': '<a href="mailto:$1">$2</a>',
136136

137-
'\\[url\\](.+)\\[/url\\]': '<a href="$1">$1</a>',
138-
'\\[url=(.+)\\|onclick\\](.+)\[/url\]': '<a onclick="$1">$2</a>',
139-
'\\[url=(.+)\starget=(.+)\\](.+)\[/url\]': '<a href="$1" target="$2">$3</a>',
140-
'\\[url=(.+)\\](.+)\\[/url\\]': '<a href="$1">$2</a>',
137+
'\\[url\\](.+?)\\[/url\\]': '<a href="$1">$1</a>',
138+
'\\[url=(.+?)\\|onclick\\](.+?)\[/url\]': '<a onclick="$1">$2</a>',
139+
'\\[url=(.+?)\starget=(.+?)\\](.+)\[/url\]': '<a href="$1" target="$2">$3</a>',
140+
'\\[url=(.+)\\](.+?)\\[/url\\]': '<a href="$1">$2</a>',
141141

142-
'\\[a=(.+)\\](.+)\\[/a\\]': '<a href="$1" name="$1">$2</a>',
142+
'\\[a=(.+)\\](.+?)\\[/a\\]': '<a href="$1" name="$1">$2</a>',
143143

144-
'\\[list\\](.+)\\[/list\\]': '<ul>$1</ul>',
145-
'\\[\*\\](.+)\\[/\\*\\]': '<li>$1</li>'
144+
'\\[list\\](.+?)\\[/list\\]': '<ul>$1</ul>',
145+
'\\[\*\\](.+?)\\[/\\*\\]': '<li>$1</li>'
146146
});
147147

148148
// define configuration function for default

src/parser.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,14 +92,14 @@ const bbCodeParser = new BBCode({
9292
'\\[email=(.+?)\\](.+?)\\[/email\\]': '<a href="mailto:$1">$2</a>',
9393

9494
'\\[url\\](.+?)\\[/url\\]': '<a href="$1">$1</a>',
95-
'\\[url=(.+?)\\|onclick\\](.+?)\[/url\]': '<a onclick="$1">$2</a>',
96-
'\\[url=(.+?)\starget=(.+?)\\](.+)\[/url\]': '<a href="$1" target="$2">$3</a>',
97-
'\\[url=(.+)\\](.+?)\\[/url\\]': '<a href="$1">$2</a>',
95+
'\\[url=(.+?)\\|onclick\\](.+?)\\[/url\\]': '<a onclick="$1">$2</a>',
96+
'\\[url=(.+?)\\starget=(.+?)\\](.+?)\\[/url\\]': '<a href="$1" target="$2">$3</a>',
97+
'\\[url=(.+?)\\](.+?)\\[/url\\]': '<a href="$1">$2</a>',
9898

99-
'\\[a=(.+)\\](.+?)\\[/a\\]': '<a href="$1" name="$1">$2</a>',
99+
'\\[a=(.+?)\\](.+?)\\[/a\\]': '<a href="$1" name="$1">$2</a>',
100100

101101
'\\[list\\](.+?)\\[/list\\]': '<ul>$1</ul>',
102-
'\\[\*\\](.+?)\\[/\\*\\]': '<li>$1</li>'
102+
'\\[\\*\\](.+?)\\[/\\*\\]': '<li>$1</li>'
103103
});
104104

105105
// define configuration function for default

0 commit comments

Comments
 (0)