Merge pull request #983 from annando/master
"red"-bookmarks and better plaintext export
This commit is contained in:
commit
d3db9365cb
5 changed files with 27 additions and 13 deletions
|
@ -63,7 +63,8 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
|
||||||
/**
|
/**
|
||||||
* Transform #tags, strip off the [url] and replace spaces with underscore
|
* Transform #tags, strip off the [url] and replace spaces with underscore
|
||||||
*/
|
*/
|
||||||
$Text = preg_replace_callback('/#\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', create_function('$match',
|
$URLSearchString = "^\[\]";
|
||||||
|
$Text = preg_replace_callback("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/i", create_function('$match',
|
||||||
'return \'#\'. str_replace(\' \', \'_\', $match[2]);'
|
'return \'#\'. str_replace(\' \', \'_\', $match[2]);'
|
||||||
), $Text);
|
), $Text);
|
||||||
|
|
||||||
|
|
|
@ -40,11 +40,11 @@ function bb_remove_share_information($Text, $plaintext = false) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function bb_cleanup_share($shared) {
|
function bb_cleanup_share($shared) {
|
||||||
if ($shared[2] != "type-link")
|
if (!in_array($shared[2], array("type-link", "type-video")))
|
||||||
return($shared[3]);
|
return($shared[0]);
|
||||||
|
|
||||||
if (!preg_match_all("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",$shared[3], $bookmark))
|
if (!preg_match_all("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",$shared[3], $bookmark))
|
||||||
return($shared[3]);
|
return($shared[0]);
|
||||||
|
|
||||||
$title = "";
|
$title = "";
|
||||||
$link = "";
|
$link = "";
|
||||||
|
@ -746,9 +746,20 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
|
||||||
// Set up the parameters for a MAIL search string
|
// Set up the parameters for a MAIL search string
|
||||||
$MAILSearchString = $URLSearchString;
|
$MAILSearchString = $URLSearchString;
|
||||||
|
|
||||||
|
// Remove all hashtag addresses
|
||||||
|
if (!$tryoembed OR $simplehtml)
|
||||||
|
$Text = preg_replace("/([#@])\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '$1$3', $Text);
|
||||||
|
|
||||||
// Bookmarks in red - will be converted to bookmarks in friendica
|
// Bookmarks in red - will be converted to bookmarks in friendica
|
||||||
$Text = preg_replace("/#\^\[url\]([$URLSearchString]*)\[\/url\]/ism", '[bookmark=$1]$1[/bookmark]', $Text);
|
$Text = preg_replace("/#\^\[url\]([$URLSearchString]*)\[\/url\]/ism", '[bookmark=$1]$1[/bookmark]', $Text);
|
||||||
$Text = preg_replace("/#\^\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '[bookmark=$1]$2[/bookmark]', $Text);
|
$Text = preg_replace("/#\^\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '[bookmark=$1]$2[/bookmark]', $Text);
|
||||||
|
$Text = preg_replace("/#\[url\=[$URLSearchString]*\]\^\[\/url\]\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/i",
|
||||||
|
"[bookmark=$1]$2[/bookmark]", $Text);
|
||||||
|
|
||||||
|
if ($simplehtml == 2) {
|
||||||
|
$Text = preg_replace("/[^#@]\[url\=([^\]]*)\](.*?)\[\/url\]/ism",' $2 [url]$1[/url]',$Text);
|
||||||
|
$Text = preg_replace("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",' $2 [url]$1[/url]',$Text);
|
||||||
|
}
|
||||||
|
|
||||||
if ($simplehtml == 5)
|
if ($simplehtml == 5)
|
||||||
$Text = preg_replace("/[^#@]\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '[url]$1[/url]', $Text);
|
$Text = preg_replace("/[^#@]\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '[url]$1[/url]', $Text);
|
||||||
|
@ -1062,11 +1073,11 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
|
||||||
// $Text = str_replace('<br /><ul','<ul ', $Text);
|
// $Text = str_replace('<br /><ul','<ul ', $Text);
|
||||||
|
|
||||||
// Remove all hashtag addresses
|
// Remove all hashtag addresses
|
||||||
if (!$tryoembed AND get_config("system", "remove_hashtags_on_export")) {
|
/* if (!$tryoembed AND get_config("system", "remove_hashtags_on_export")) {
|
||||||
$pattern = '/#<a.*?href="(.*?)".*?>(.*?)<\/a>/is';
|
$pattern = '/#<a.*?href="(.*?)".*?>(.*?)<\/a>/is';
|
||||||
$Text = preg_replace($pattern, '#$2', $Text);
|
$Text = preg_replace($pattern, '#$2', $Text);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
call_hooks('bbcode',$Text);
|
call_hooks('bbcode',$Text);
|
||||||
|
|
||||||
$a->save_timestamp($stamp1, "parser");
|
$a->save_timestamp($stamp1, "parser");
|
||||||
|
|
|
@ -114,11 +114,11 @@ function html2plain($html, $wraplength = 75, $compact = false)
|
||||||
$message = str_replace("\r", "", $html);
|
$message = str_replace("\r", "", $html);
|
||||||
|
|
||||||
// replace all hashtag addresses
|
// replace all hashtag addresses
|
||||||
if (get_config("system", "remove_hashtags_on_export")) {
|
/* if (get_config("system", "remove_hashtags_on_export")) {
|
||||||
$pattern = '/#<a.*?href="(.*?)".*?>(.*?)<\/a>/is';
|
$pattern = '/#<a.*?href="(.*?)".*?>(.*?)<\/a>/is';
|
||||||
$message = preg_replace($pattern, '#$2', $message);
|
$message = preg_replace($pattern, '#$2', $message);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
$doc = new DOMDocument();
|
$doc = new DOMDocument();
|
||||||
$doc->preserveWhiteSpace = false;
|
$doc->preserveWhiteSpace = false;
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ function html2plain($html, $wraplength = 75, $compact = false)
|
||||||
|
|
||||||
// Problem: there is no reliable way to detect if it is a link to a tag or profile
|
// Problem: there is no reliable way to detect if it is a link to a tag or profile
|
||||||
//node2bbcode($doc, 'a', array('href'=>'/(.+)/'), ' $1 ', ' ', true);
|
//node2bbcode($doc, 'a', array('href'=>'/(.+)/'), ' $1 ', ' ', true);
|
||||||
node2bbcode($doc, 'a', array('href'=>'/(.+)/', 'rel'=>'oembed'), ' $1 ', '', true);
|
//node2bbcode($doc, 'a', array('href'=>'/(.+)/', 'rel'=>'oembed'), ' $1 ', '', true);
|
||||||
//node2bbcode($doc, 'img', array('alt'=>'/(.+)/'), '$1', '');
|
//node2bbcode($doc, 'img', array('alt'=>'/(.+)/'), '$1', '');
|
||||||
//node2bbcode($doc, 'img', array('title'=>'/(.+)/'), '$1', '');
|
//node2bbcode($doc, 'img', array('title'=>'/(.+)/'), '$1', '');
|
||||||
//node2bbcode($doc, 'img', array(), '', '');
|
//node2bbcode($doc, 'img', array(), '', '');
|
||||||
|
|
|
@ -1007,9 +1007,9 @@ function item_store($arr,$force_parent = false) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Shouldn't happen but we want to make absolutely sure it doesn't leak from a plugin.
|
// Shouldn't happen but we want to make absolutely sure it doesn't leak from a plugin.
|
||||||
|
// Deactivated, since the bbcode parser can handle with it - and it destroys posts with some smileys that contain "<"
|
||||||
if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false))
|
//if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false))
|
||||||
$arr['body'] = strip_tags($arr['body']);
|
// $arr['body'] = strip_tags($arr['body']);
|
||||||
|
|
||||||
|
|
||||||
if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
|
if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
|
||||||
|
|
|
@ -168,6 +168,8 @@ function plaintext($a, $b, $limit = 0, $includedlinks = false) {
|
||||||
// Is the new message empty by now or is it a reshared message?
|
// Is the new message empty by now or is it a reshared message?
|
||||||
elseif (($msg == "") OR (($row == 1) AND (substr($msg, 0, 4) == $recycle)))
|
elseif (($msg == "") OR (($row == 1) AND (substr($msg, 0, 4) == $recycle)))
|
||||||
$msg = substr(substr(trim($msg."\n".$line), 0, $limit), 0, -3)."...";
|
$msg = substr(substr(trim($msg."\n".$line), 0, $limit), 0, -3)."...";
|
||||||
|
else
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue