$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);
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);
}