Package lumis.util

Class HtmlUtil


  • @StableMinor(version="14.1",
                 sinceVersion="4.0")
    public abstract class HtmlUtil
    extends Object
    Utility class for HTML decoding
    Since:
    4.0.0
    Version:
    $Revision: 24683 $ $Date: 2021-08-23 18:55:58 -0300 (Mon, 23 Aug 2021) $
    • Constructor Detail

      • HtmlUtil

        public HtmlUtil()
    • Method Detail

      • decode

        public static String decode​(String inputHtml)
        Decodes a HTML string, replacing character references (&...;) by their corresponding characters.

        e.g: coração -> coração

        For more information about HTML character references, see the section "5.3 Character references" of the HTML 4.01 Specification

        Parameters:
        inputHtml - input HTML
        Returns:
        the HTML decoded
      • encode

        public static String encode​(String inputHtml)
        Encodes a HTML string, replacing extended characters by their corresponding character references.

        e.g: coração -> coração

        For more information about HTML character references, see the section "5.3 Character references" of the HTML 4.01 Specification

        Parameters:
        inputHtml - the string to be encoded.
        Returns:
        the encoded string.
      • encode

        public static String encode​(String inputHtml,
                                    boolean useEntityRefs)
        Encodes a HTML string, replacing extended caracters by their corresponding character references if the parameter useEntityRefs is true

        e.g: coração -> coração

        else the replacement is done using the decimal reference

        e.g: coração -> coração

        For more information about HTML character references, see the section "5.3 Character references" of the HTML 4.01 Specification

        Parameters:
        inputHtml - the string to be encoded.
        useEntityRefs - if HTML entities should be used during encoding.
        Returns:
        the encoded string.
      • fixInvalidHtmlPattern

        public static String fixInvalidHtmlPattern​(String inputHtml)
        Parses the input HTML string, fixes any invalid HTML patterns and returns the fixed result.
        Parameters:
        input - HTML to be fixed
        Returns:
        the fixed HTML
        Since:
        4.1.1
      • validateJSFragmentSafety

        public static void validateJSFragmentSafety​(String jsFragment)
        Validates if a javascript code fragment is safe to be injected in a page. This method is to be used when javascript codes are obtained from unsecure sources, such as a HTTP request parameter.

        Currently this method accepts code that contains only letters, numbers, underscore or period. These can be used to represent an object reference.

        Parameters:
        jsFragment - the javascript code fragment.
        Throws:
        IllegalArgumentException - if the javascript code fragment is considered unsafe.
        Since:
        5.0.0
      • isFragment

        public static boolean isFragment​(String html)
        Returns if the given HTML code is a fragment or if it contains a root html element.
        Parameters:
        html - the HTML code.
        Returns:
        true if the given code is a fragment, or false if it contains a root html element.
        Since:
        12.1.0