@@ -249,7 +249,7 @@ Lexer.prototype.token = function(src, top) {
249249
250250 item = {
251251 type : 'table' ,
252- header : cap [ 1 ] . replace ( / ^ * | * \| * $ / g, '' ) . split ( / * \| * / ) ,
252+ header : splitCells ( cap [ 1 ] . replace ( / ^ * | * \| * $ / g, '' ) ) ,
253253 align : cap [ 2 ] . replace ( / ^ * | \| * $ / g, '' ) . split ( / * \| * / ) ,
254254 cells : cap [ 3 ] . replace ( / \n $ / , '' ) . split ( '\n' )
255255 } ;
@@ -267,7 +267,7 @@ Lexer.prototype.token = function(src, top) {
267267 }
268268
269269 for ( i = 0 ; i < item . cells . length ; i ++ ) {
270- item . cells [ i ] = item . cells [ i ] . split ( / * \| * / ) ;
270+ item . cells [ i ] = splitCells ( item . cells [ i ] ) ;
271271 }
272272
273273 this . tokens . push ( item ) ;
@@ -416,7 +416,7 @@ Lexer.prototype.token = function(src, top) {
416416
417417 item = {
418418 type : 'table' ,
419- header : cap [ 1 ] . replace ( / ^ * | * \| * $ / g, '' ) . split ( / * \| * / ) ,
419+ header : splitCells ( cap [ 1 ] . replace ( / ^ * | * \| * $ / g, '' ) ) ,
420420 align : cap [ 2 ] . replace ( / ^ * | \| * $ / g, '' ) . split ( / * \| * / ) ,
421421 cells : cap [ 3 ] . replace ( / (?: * \| * ) ? \n $ / , '' ) . split ( '\n' )
422422 } ;
@@ -434,9 +434,8 @@ Lexer.prototype.token = function(src, top) {
434434 }
435435
436436 for ( i = 0 ; i < item . cells . length ; i ++ ) {
437- item . cells [ i ] = item . cells [ i ]
438- . replace ( / ^ * \| * | * \| * $ / g, '' )
439- . split ( / * \| * / ) ;
437+ item . cells [ i ] = splitCells (
438+ item . cells [ i ] . replace ( / ^ * \| * | * \| * $ / g, '' ) ) ;
440439 }
441440
442441 this . tokens . push ( item ) ;
@@ -1311,6 +1310,16 @@ function merge(obj) {
13111310 return obj ;
13121311}
13131312
1313+ function splitCells ( tableRow ) {
1314+ var cells = tableRow . replace ( / ( [ ^ \\ ] ) \| / g, '$1 |' ) . split ( / + \| * / ) ,
1315+ i = 0 ;
1316+
1317+ for ( ; i < cells . length ; i ++ ) {
1318+ cells [ i ] = cells [ i ] . replace ( / \\ \| / g, '|' ) ;
1319+ }
1320+ return cells ;
1321+ }
1322+
13141323/**
13151324 * Marked
13161325 */
0 commit comments