private function _decode_entity(array $match): string
    {
        // init
        $str = $match[0];

        // protect GET variables without XSS in URLs
        if (\preg_match_all("/[\?|&]?[\\p{L}0-9_\-\[\]]+\s*=\s*(?<wrapped>\"|\042|'|\047)(?<attr>[^\\1]*?)\\g{wrapped}/ui", $str, $matches)) {
            if (isset($matches['attr'])) {
                foreach ($matches['attr'] as $matchInner) {
                    $tmpAntiXss = clone $this;

                    $urlPartClean = $tmpAntiXss->xss_clean($matchInner);

                    if ($tmpAntiXss->isXssFound() === true) {
                        $this->_xss_found = true;

                        $str = \str_replace($matchInner, UTF8::rawurldecode($urlPartClean), $str);
                    }
                }
            }
        } else {
            $str = $this->_entity_decode(UTF8::rawurldecode($str));
        }

        return $str;
    }
private function _decode_entity(array $match): string
    {
        // init
        $str = $match[0];

        // protect GET variables without XSS in URLs
        if (\preg_match_all("/[\?|&]?[\\p{L}0-9_\-\[\]]+\s*=\s*(?<wrapped>\"|\042|'|\047)(?<attr>[^\\1]*?)\\g{wrapped}/ui", $str, $matches)) {
            if (isset($matches['attr'])) {
                foreach ($matches['attr'] as $matchInner) {
                    $tmpAntiXss = clone $this;

                    $urlPartClean = $tmpAntiXss->xss_clean($matchInner);

                    if ($tmpAntiXss->isXssFound() === true) {
                        $this->_xss_found = true;

                        $str = \str_replace($matchInner, UTF8::rawurldecode($urlPartClean), $str);
                    }
                }
            }
        } else {
            $str = $this->_entity_decode(UTF8::rawurldecode($str));
        }

        return $str;
    }
private function _decode_entity ( array $ match ) : string { // init $ str = $ match [ 0 ] ; // protect GET variables without XSS in URLs if ( \ preg_match_all ( "/[\?|&]?[\\p{L}0-9_\-\[\]]+\s*=\s*(?<wrapped>\"|\042|'|\047)(?<attr>[^\\1]*?)\\g{wrapped}/ui" , $ str , $ matches ) ) { if ( isset ( $ matches [ 'attr' ] ) ) { foreach ( $ matches [ 'attr' ] as $ matchInner ) { $ tmpAntiXss = clone $ this ; $ urlPartClean = $ tmpAntiXss -> xss_clean ( $ matchInner ) ; if ( $ tmpAntiXss -> isXssFound ( ) === true ) { $ this -> _xss_found = true ; $ str = \ str_replace ( $ matchInner , UTF8 :: rawurldecode ( $ urlPartClean ) , $ str ) ; } } } } else { $ str = $ this -> _entity_decode ( UTF8 :: rawurldecode ( $ str ) ) ; } return $ str ; }
HTML-Entity decode callback.

@param array $match

@return string
HTML - Entity decode callback .