return $return;
}
+ public static function removeLinks(string $bbcode)
+ {
+ $bbcode = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", ' ', $bbcode);
+ $bbcode = preg_replace("/\[img\=(.*?)\](.*?)\[\/img\]/ism", ' $1 ', $bbcode);
+ $bbcode = preg_replace("/\[img\](.*?)\[\/img\]/ism", ' ', $bbcode);
+
+ $bbcode = preg_replace('/([@!#])\[url\=(.*?)\](.*?)\[\/url\]/ism', '', $bbcode);
+ $bbcode = preg_replace("/\[url\](.*?)\[\/url\]/ism", ' ', $bbcode);
+ $bbcode = preg_replace("/\[url=[^\[\]]*\](.*)\[\/url\]/Usi", ' $1 ', $bbcode);
+ $bbcode = preg_replace("/\[url\](.*?)\[\/url\]/ism", ' ', $bbcode);
+ return $bbcode;
+ }
+
/**
* Converts a BBCode message to HTML message
*
return '';
}
- $naked_body = BBCode::toPlaintext($item['body'], false);
+ // Convert attachments to links
+ $naked_body = BBCode::removeAttachment($item['body']);
+
+ // Remove links and pictures
+ $naked_body = BBCode::removeLinks($naked_body);
+
+ // Convert the title and the body to plain text
+ $naked_body = trim($item['title'] . "\n" . BBCode::toPlaintext($naked_body));
+
+ // Remove possibly remaining links
+ $naked_body = preg_replace(Strings::autoLinkRegEx(), '', $naked_body);
$ld = new Language();
$languages = $ld->detect($naked_body)->limit(0, 3)->close();