mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-19 21:55:15 +00:00
don't rewrite naked links inside markdown code blocks
This commit is contained in:
parent
1a4a46db6d
commit
42f46df966
2 changed files with 9 additions and 0 deletions
|
@ -3514,6 +3514,12 @@ function cleanup_bbcode($body) {
|
|||
* First protect any url inside certain bbcode tags so we don't double link it.
|
||||
*/
|
||||
|
||||
// markdown code blocks are slightly more complicated
|
||||
|
||||
$body = preg_replace_callback('#(^|\n)([`~]{3,})(?: *\.?([a-zA-Z0-9\-.]+))?\n+([\s\S]+?)\n+\2(\n|$)#', function ($match) {
|
||||
return $match[1] . $match[2] . "\n" . bb_code_protect($match[4]) . "\n" . $match[2] . (($match[5]) ? $match[5] : "\n");
|
||||
}, $body);
|
||||
|
||||
$body = preg_replace_callback('/\[code(.*?)\[\/(code)\]/ism','\red_escape_codeblock',$body);
|
||||
$body = preg_replace_callback('/\[url(.*?)\[\/(url)\]/ism','\red_escape_codeblock',$body);
|
||||
$body = preg_replace_callback('/\[zrl(.*?)\[\/(zrl)\]/ism','\red_escape_codeblock',$body);
|
||||
|
@ -3533,6 +3539,8 @@ function cleanup_bbcode($body) {
|
|||
$body = preg_replace_callback('/\[\$b64img(.*?)\[\/(img)\]/ism','\red_unescape_codeblock',$body);
|
||||
$body = preg_replace_callback('/\[\$b64zmg(.*?)\[\/(zmg)\]/ism','\red_unescape_codeblock',$body);
|
||||
|
||||
$body = bb_code_unprotect($body);
|
||||
|
||||
// fix any img tags that should be zmg
|
||||
|
||||
$body = preg_replace_callback('/\[img(.*?)\](.*?)\[\/img\]/ism','\red_zrlify_img_callback',$body);
|
||||
|
|
|
@ -258,6 +258,7 @@ function red_escape_codeblock($m) {
|
|||
return '[$b64' . $m[2] . base64_encode($m[1]) . '[/' . $m[2] . ']';
|
||||
}
|
||||
|
||||
|
||||
function red_unescape_codeblock($m) {
|
||||
return '[' . $m[2] . base64_decode($m[1]) . '[/' . $m[2] . ']';
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue