improve the formatting of shares when converting from bbcode to markdown
This commit is contained in:
parent
7d82b5f28d
commit
7d891a54e7
@ -84,6 +84,72 @@ function markdown_to_bb($s, $use_zrl = false, $options = []) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function bb_to_markdown_share($match) {
|
||||||
|
|
||||||
|
$matches = array();
|
||||||
|
$attributes = $match[1];
|
||||||
|
|
||||||
|
$author = "";
|
||||||
|
preg_match("/author='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$author = urldecode($matches[1]);
|
||||||
|
|
||||||
|
$link = "";
|
||||||
|
preg_match("/link='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$link = $matches[1];
|
||||||
|
|
||||||
|
$avatar = "";
|
||||||
|
preg_match("/avatar='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$avatar = $matches[1];
|
||||||
|
|
||||||
|
$profile = "";
|
||||||
|
preg_match("/profile='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$profile = $matches[1];
|
||||||
|
|
||||||
|
$posted = "";
|
||||||
|
preg_match("/posted='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$posted = $matches[1];
|
||||||
|
|
||||||
|
// message_id is never used, do we still need it?
|
||||||
|
$message_id = "";
|
||||||
|
preg_match("/message_id='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$message_id = $matches[1];
|
||||||
|
|
||||||
|
if(! $message_id) {
|
||||||
|
preg_match("/guid='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$message_id = $matches[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$reldate = datetime_convert('UTC', date_default_timezone_get(), $posted, 'r');
|
||||||
|
|
||||||
|
$headline = '';
|
||||||
|
|
||||||
|
if ($avatar != "")
|
||||||
|
$headline .= '[url=' . zid($profile) . '][img]' . $avatar . '[/img][/url]';
|
||||||
|
|
||||||
|
// Bob Smith wrote the following post 2 hours ago
|
||||||
|
|
||||||
|
$fmt = sprintf( t('%1$s wrote the following %2$s %3$s'),
|
||||||
|
'[url=' . zid($profile) . ']' . $author . '[/url]',
|
||||||
|
'[url=' . zid($link) . ']' . t('post') . '[/url]',
|
||||||
|
$reldate
|
||||||
|
);
|
||||||
|
|
||||||
|
$headline .= $fmt . "\n\n";
|
||||||
|
|
||||||
|
$text = $headline . trim($match[2]);
|
||||||
|
|
||||||
|
return $text;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function bb_to_markdown($Text) {
|
function bb_to_markdown($Text) {
|
||||||
|
|
||||||
@ -100,9 +166,12 @@ function bb_to_markdown($Text) {
|
|||||||
// Converting images with size parameters to simple images. Markdown doesn't know it.
|
// Converting images with size parameters to simple images. Markdown doesn't know it.
|
||||||
$Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '[img]$3[/img]', $Text);
|
$Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '[img]$3[/img]', $Text);
|
||||||
|
|
||||||
|
$Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism", 'bb_to_markdown_share', $Text);
|
||||||
|
|
||||||
|
|
||||||
call_hooks('bb_to_markdown_bb',$Text);
|
call_hooks('bb_to_markdown_bb',$Text);
|
||||||
|
|
||||||
|
|
||||||
// Convert it to HTML - don't try oembed
|
// Convert it to HTML - don't try oembed
|
||||||
$Text = bbcode($Text, $preserve_nl, false);
|
$Text = bbcode($Text, $preserve_nl, false);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user