The title of bookmark links is now taken instead of the data that was fetched via oembed

This commit is contained in:
Michael Vogel 2014-07-27 16:10:09 +02:00
parent 25237c0929
commit 72eee45b92
2 changed files with 23 additions and 4 deletions

View File

@ -64,7 +64,7 @@ function bb_attachment($Text, $plaintext = false, $tryoembed = true) {
else {
$text = sprintf('<span class="type-%s">', $type);
$bookmark = array(sprintf('[bookmark=%s]%s[/bookmark]', $url, $title), $title, $url);
$bookmark = array(sprintf('[bookmark=%s]%s[/bookmark]', $url, $title), $url, $title);
if ($tryoembed)
$oembed = tryoembed($bookmark);
else
@ -197,7 +197,8 @@ function stripcode_br_cb($s) {
}
function tryoembed($match){
$url = ((count($match)==2)?$match[1]:$match[2]);
//$url = ((count($match)==2)?$match[1]:$match[2]);
$url = $match[1];
// Always embed the SSL version
$url = str_replace(array("http://www.youtube.com/", "http://player.vimeo.com/"),
@ -207,6 +208,9 @@ function tryoembed($match){
$o = oembed_fetch_url($url);
if (isset($match[2]))
$o->title = $match[2];
//echo "<pre>"; var_dump($match, $url, $o); killme();
if ($o->type=="error") return $match[0];
@ -792,7 +796,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
// Perform URL Search
if ($tryoembed)
$Text = preg_replace_callback("/\[bookmark\=([^\]]*)\].*?\[\/bookmark\]/ism",'tryoembed',$Text);
$Text = preg_replace_callback("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",'tryoembed',$Text);
if ($simplehtml == 5)
$Text = preg_replace("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",'[url]$1[/url]',$Text);

View File

@ -939,7 +939,22 @@ function add_page_info_to_body($body, $texturl = false, $no_photos = false) {
}
if ($matches)
$body .= add_page_info($matches[1], $no_photos);
$footer = add_page_info($matches[1], $no_photos);
// Remove the link from the body if the link is attached at the end of the post
if (isset($footer) AND (trim($footer) != "") AND (strpos($footer, $matches[1]))) {
$removedlink = trim(str_replace($matches[1], "", $body));
if (strstr($body, $removedlink))
$body = $removedlink;
$removedlink = trim(str_replace("[url]".$matches[1]."[/url]", "", $body));
if (strstr($body, $removedlink))
$body = $removedlink;
}
// Add the page information to the bottom
if (isset($footer) AND (trim($footer) != ""))
$body .= $footer;
return $body;
}