@@ -79,7 +79,7 @@ protected function parseLink($markdown)
79
79
// remove all starting [ markers to avoid next one to be parsed as link
80
80
$ result = '[ ' ;
81
81
$ i = 1 ;
82
- while (isset ($ markdown [$ i ]) && $ markdown [$ i ] == '[ ' ) {
82
+ while (isset ($ markdown [$ i ]) && $ markdown [$ i ] === '[ ' ) {
83
83
$ result .= '[ ' ;
84
84
$ i ++;
85
85
}
@@ -111,7 +111,7 @@ protected function parseImage($markdown)
111
111
// remove all starting [ markers to avoid next one to be parsed as link
112
112
$ result = '! ' ;
113
113
$ i = 1 ;
114
- while (isset ($ markdown [$ i ]) && $ markdown [$ i ] == '[ ' ) {
114
+ while (isset ($ markdown [$ i ]) && $ markdown [$ i ] === '[ ' ) {
115
115
$ result .= '[ ' ;
116
116
$ i ++;
117
117
}
@@ -221,6 +221,9 @@ protected function renderLink($block)
221
221
if (($ ref = $ this ->lookupReference ($ block ['refkey ' ])) !== false ) {
222
222
$ block = array_merge ($ block , $ ref );
223
223
} else {
224
+ if (strncmp ($ block ['orig ' ], '[ ' , 1 ) === 0 ) {
225
+ return '[ ' . $ this ->renderAbsy ($ this ->parseInline (substr ($ block ['orig ' ], 1 )));
226
+ }
224
227
return $ block ['orig ' ];
225
228
}
226
229
}
@@ -235,6 +238,9 @@ protected function renderImage($block)
235
238
if (($ ref = $ this ->lookupReference ($ block ['refkey ' ])) !== false ) {
236
239
$ block = array_merge ($ block , $ ref );
237
240
} else {
241
+ if (strncmp ($ block ['orig ' ], '![ ' , 2 ) === 0 ) {
242
+ return '![ ' . $ this ->renderAbsy ($ this ->parseInline (substr ($ block ['orig ' ], 2 )));
243
+ }
238
244
return $ block ['orig ' ];
239
245
}
240
246
}
@@ -275,4 +281,7 @@ protected function consumeReference($lines, $current)
275
281
}
276
282
return [false , --$ current ];
277
283
}
284
+
285
+ abstract protected function parseInline ($ text );
286
+ abstract protected function renderAbsy ($ blocks );
278
287
}
0 commit comments