diff options
-rw-r--r-- | include/bbcode.php | 14 | ||||
-rw-r--r-- | include/markdown.php | 23 |
2 files changed, 28 insertions, 9 deletions
diff --git a/include/bbcode.php b/include/bbcode.php index 20a866073..db4147c1e 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -297,20 +297,20 @@ function bb_parse_crypt($match) { */ function bb_parse_b64_crypt($match) { - if(empty($match[2])) + if(empty($match[1])) { return; + } + + $r = '-----BEGIN ENCRYPTED MESSAGE-----' . "\n"; + $r .= $match[1] . "\n"; + $r .= '-----END ENCRYPTED MESSAGE-----' . "\n"; - $r .= '<code>'; - $r .= '----- ENCRYPTED CONTENT -----' . '<br>'; - $r .= $match[2] . '<br>'; - $r .= '----- END ENCRYPTED CONTENT -----'; - $r .= '</code>'; + $r = '<code>' . str_replace("\n", '<br>', wordwrap($r, 75, "\n", true)) . '</code>'; return $r; } - function bb_parse_app($match) { $app = Zotlabs\Lib\Apps::app_decode($match[1]); diff --git a/include/markdown.php b/include/markdown.php index 7fba1259f..b2adcd0d5 100644 --- a/include/markdown.php +++ b/include/markdown.php @@ -221,6 +221,21 @@ function bb_to_markdown_transform_tags($match) { return '#'. str_replace(' ', '_', $match[3]); } +function bb_to_markdown_parse_b64_crypt($match) { + + if(empty($match[1])) { + return; + } + + $r = '```' . "\n"; + $r .= '-----BEGIN ENCRYPTED MESSAGE-----' . "\n"; + $r .= $match[1] . "\n"; + $r .= '-----END ENCRYPTED MESSAGE-----' . "\n"; + $r .= '```' . "\n"; + + return wordwrap($r, 75, "\n", true); + +} /** * @brief Convert bbcode to Markdown. @@ -244,6 +259,10 @@ function bb_to_markdown($Text, $options = []) { $Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism", 'bb_to_markdown_share', $Text); + if (str_contains($Text, '[/crypt]')) { + $Text = preg_replace_callback("/\[crypt\](.*?)\[\/crypt\]/ism", 'bb_to_markdown_parse_b64_crypt', $Text); + } + $x = [ 'bbcode' => $Text, 'options' => $options ]; /** @@ -264,8 +283,8 @@ function bb_to_markdown($Text, $options = []) { // Now convert HTML to Markdown $Text = html2markdown($Text); - //html2markdown adds backslashes infront of hashes after a new line. remove them - $Text = str_replace("\n\#", "\n#", $Text); + //html2markdown adds backslashes infront of hashes and dashes after a new line. remove them + $Text = str_replace(["\n\#", "\n\-----"], ["\n#", "\n-----"], $Text); // If the text going into bbcode() has a plain URL in it, i.e. // with no [url] tags around it, it will come out of parseString() |