public static function htmlentities($string, $preserve_encoded_entities = false)
    {
        if ($preserve_encoded_entities) {
            // @codeCoverageIgnoreStart
            if (defined('HHVM_VERSION')) {
                $translation_table = get_html_translation_table(HTML_ENTITIES, ENT_QUOTES);
            } else {
                $translation_table = get_html_translation_table(HTML_ENTITIES, ENT_QUOTES, self::mbInternalEncoding());
            }
            // @codeCoverageIgnoreEnd

            $translation_table[chr(38)] = '&';
            return preg_replace('/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/', '&amp;', strtr($string, $translation_table));
        }

        return htmlentities($string, ENT_QUOTES, self::mbInternalEncoding());
    }
public static function htmlentities($string, $preserve_encoded_entities = false)
    {
        if ($preserve_encoded_entities) {
            // @codeCoverageIgnoreStart
            if (defined('HHVM_VERSION')) {
                $translation_table = get_html_translation_table(HTML_ENTITIES, ENT_QUOTES);
            } else {
                $translation_table = get_html_translation_table(HTML_ENTITIES, ENT_QUOTES, self::mbInternalEncoding());
            }
            // @codeCoverageIgnoreEnd

            $translation_table[chr(38)] = '&';
            return preg_replace('/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/', '&amp;', strtr($string, $translation_table));
        }

        return htmlentities($string, ENT_QUOTES, self::mbInternalEncoding());
    }
public static function htmlentities ( $ string , $ preserve_encoded_entities = false ) { if ( $ preserve_encoded_entities ) { // @codeCoverageIgnoreStart if ( defined ( 'HHVM_VERSION' ) ) { $ translation_table = get_html_translation_table ( HTML_ENTITIES , ENT_QUOTES ) ; } else { $ translation_table = get_html_translation_table ( HTML_ENTITIES , ENT_QUOTES , self :: mbInternalEncoding ( ) ) ; } // @codeCoverageIgnoreEnd $ translation_table [ chr ( 38 ) ] = '&' ; return preg_replace ( '/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/' , '&amp;' , strtr ( $ string , $ translation_table ) ) ; } return htmlentities ( $ string , ENT_QUOTES , self :: mbInternalEncoding ( ) ) ; }
Convert entities, while preserving already-encoded entities.

@param  string $string The text to be converted
@return string
Convert entities while preserving already - encoded entities .