diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php index c81148b9c9..c6806da2c8 100755 --- a/pandora_console/include/functions_ui.php +++ b/pandora_console/include/functions_ui.php @@ -48,15 +48,18 @@ if (isset($config['homedir'])) { */ function ui_bbcode_to_html($text, $allowed_tags=['[url]']) { - $return = $text; + $return = io_safe_output($text); if (array_search('[url]', $allowed_tags) !== false) { - $return = preg_replace( - '/\[url=([^\]]*)\]/', - '', - $return - ); - $return = str_replace('[/url]', '', $return); + // If link hasn't http, add it. + if (preg_match('/https?:\/\//', $return)) { + $html_bbcode = '$2'; + } else { + $html_bbcode = '$2'; + } + + // Replace bbcode format [url=www.example.org] String [/url] with or without http and slashes + $return = preg_replace('/\[url(?|](((?:https?:\/\/)?[^[]+))|(?:=[\'"]?((?:https?:\/\/)?[^]]+?)[\'"]?)](.+?))\[\/url]/', $html_bbcode, $return); } return $return;