- $s = preg_replace('/\@\{(.+?)\; (.+?)\@(.+?)\}/','@[url=https://$3/u/$2]$1[/url]',$s);
- $s = Markdown($s);
- $s = html2bbcode($s);
- $s = str_replace('*','*',$s);
- $s = preg_replace("/\[url\=?(.*?)\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/url\]/ism",'[youtube]$2[/youtube]',$s);
- $s = preg_replace("/\[url\=https?:\/\/www.youtube.com\/watch\?v\=(.*?)\].*?\[\/url\]/ism",'[youtube]$1[/youtube]',$s);
- $s = preg_replace("/\[url\=?(.*?)\]https?:\/\/vimeo.com\/([0-9]+)(.*?)\[\/url\]/ism",'[vimeo]$2[/vimeo]',$s);
- $s = preg_replace("/\[url\=https?:\/\/vimeo.com\/([0-9]+)\](.*?)\[\/url\]/ism",'[vimeo]$1[/vimeo]',$s);
- $s = preg_replace("/([^\]\=]|^)(https?\:\/\/)(vimeo|youtu|www\.youtube|soundcloud)([a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1[url]$2$3$4[/url]',$s);
- $s = scale_diaspora_images($s);
- return $s;
-}
-
-
-function scale_diaspora_images($s,$include_link = true) {
-
- $matches = null;
- $c = preg_match_all('/\[img\](.*?)\[\/img\]/ism',$s,$matches,PREG_SET_ORDER);
- if($c) {
- require_once('include/Photo.php');
- foreach($matches as $mtch) {
- logger('scale_diaspora_image: ' . $mtch[1]);
- $i = fetch_url($mtch[1]);
- if($i) {
- $ph = new Photo($i);
- if($ph->is_valid()) {
- if($ph->getWidth() > 600 || $ph->getHeight() > 600) {
- $ph->scaleImage(600);
- $new_width = $ph->getWidth();
- $new_height = $ph->getHeight();
- logger('scale_diaspora_image: ' . $new_width . 'w ' . $new_height . 'h' . 'match: ' . $mtch[0], LOGGER_DEBUG);
- $s = str_replace($mtch[0],'[img=' . $new_width . 'x' . $new_height. ']' . $mtch[1] . '[/img]'
- . "\n" . (($include_link)
- ? '[url=' . $mtch[1] . ']' . t('view full size') . '[/url]' . "\n"
- : ''),$s);
- logger('scale_diaspora_image: new string: ' . $s, LOGGER_DEBUG);
- }
- }
- }
- }
- }
- return $s;
-}
-
-function stripdcode_br_cb($s) {
- return '[code]' . str_replace('<br />', "\n\t", $s[1]) . '[/code]';
-}
-
-
-
-function bb2diaspora($Text,$preserve_nl = false) {
-
- $ev = bbtoevent($Text);
-
- // Replace any html brackets with HTML Entities to prevent executing HTML or script
- // Don't use strip_tags here because it breaks [url] search by replacing & with amp
-
- $Text = str_replace("<", "<", $Text);
- $Text = str_replace(">", ">", $Text);
-
- // If we find any event code, turn it into an event.
- // After we're finished processing the bbcode we'll
- // replace all of the event code with a reformatted version.
-
-
- if($preserve_nl)
- $Text = str_replace(array("\n","\r"), array('',''),$Text);