'_' => 'u',
'*' => 'strong');
$url = Banana::$msgshow_url;
- preg_match_all("/$url/i", $text, $urls);
+ preg_match_all("/$url/ui", $text, $urls);
$text = str_replace($urls[0], "&&&urls&&&", $text);
foreach ($formatting as $limit=>$mark) {
$limit = preg_quote($limit, '/');
- $text = preg_replace("/$limit\\b(.*?)\\b$limit/s",
+ $text = preg_replace('/' . $limit . '(\S+?)' . $limit . '/us',
"<$mark>\\1</$mark>", $text);
}
return preg_replace('/&&&urls&&&/e', 'array_shift($urls[0])', $text);
$url = Banana::$msgshow_url;
$res = preg_replace("/&(lt|gt|quot);/", " &\\1; ", $text);
- $res = preg_replace("/$url/ie", "'\\1'.banana__cleanurl('\\2').'\\3'", $res);
+ $res = preg_replace("/$url/uie", "'\\1'.banana__cleanurl('\\2').'\\3'", $res);
$res = preg_replace('/(["\[])?(?:mailto:|news:)?([a-z0-9.\-+_\$]+@([\-.+_]?[a-z0-9])+)(["\]])?/ie',
"'\\1' . banana__catchMailLink('\\2') . '\\4'",
$res);
function banana_cleanHtml($source)
{
$allowedTags = '<h1><b><i><a><ul><li><pre><hr><blockquote><img><br><font><div>'
- . '<p><small><big><sup><sub><code><em><strong><table><tr><td><th>';
+ . '<u><p><small><big><sup><sub><code><em><strong><table><tr><td><th>';
$source = strip_tags($source, $allowedTags);
$source = preg_replace('/<(.*?)>/ie', "'<'.banana_removeEvilAttributes('\\1').'>'", $source);
function banana_hideExternalImages($text)
{
- return preg_replace("/<img[^>]*?src=['\"](?!cid).*?>/i",
- Banana::$page->makeImg(array('img' => 'invalid')),
+ return preg_replace("/<img([^>]*?)src=['\"](?!cid).*?['\"](.*?)>/i",
+ '<img\1src="invalid"\2>',
$text);
}
{
$text = $part->getText();
$text = banana_catchHtmlSignature($text);
- $text = banana_hideExternalImages($text);
+ if (!Banana::$msgshow_externalimages) {
+ $text = banana_hideExternalImages($text);
+ }
$text = banana_catchPartLinks($text);
return banana_cleanHtml($text);
}
return banana_cleanHtml($text);
}
+function banana_quoteRichtText(BananaMimePart &$part)
+{
+ $text = $part->getText();
+ $text = banana_richtextToHtml($text);
+ $text = banana_htmlToPlainText($text);
+ return banana_wrap($text, 1);
+}
+
// }}}
-// vim:set et sw=4 sts=4 ts=4:
+// vim:set et sw=4 sts=4 ts=4 enc=utf-8:
?>