1 common.inc filter_xss_bad_protocol($string, $decode = TRUE)

Processes an HTML attribute value and strips dangerous protocols from URLs.


$string: The string with the attribute value.

$decode: (deprecated) Whether to decode entities in the $string. Set to FALSE if the $string is in plain text, TRUE otherwise. Defaults to TRUE. This parameter is deprecated and will be removed. To process a plain-text URI, call backdrop_strip_dangerous_protocols() or check_url() instead.

Return value

Cleaned up and HTML-escaped version of $string.:

Related topics


core/includes/common.inc, line 2123
Common functions that many Backdrop modules will need to reference.


function filter_xss_bad_protocol($string, $decode = TRUE) {
  // Get the plain text representation of the attribute value (i.e. its meaning).
  // @todo Remove the $decode parameter and always assume an HTML string that needs decoding.
  if ($decode) {
    if (!function_exists('decode_entities')) {
      require_once BACKDROP_ROOT . '/core/includes/unicode.inc';

    $string = decode_entities($string);
  return check_plain(backdrop_strip_dangerous_protocols($string));