Back to InputFilter class

Method decode

protected string
decode
(mixed $source)
Try to convert to plaintext
Parameters
  • string $source The source string.
Returns
  • string Plaintext string
Since
  • 3.5
Class: InputFilter
Project: Joomla

Method decode - Source code

/**
 * Try to convert to plaintext
 *
 * @param   string  $source  The source string.
 *
 * @return  string  Plaintext string
 *
 * @since   3.5
 */
protected function decode($source)
{
    static $ttr;
    if (!\is_array($ttr)) {
        // Entity decode
        $trans_tbl = get_html_translation_table(HTML_ENTITIES, ENT_COMPAT, 'ISO-8859-1');
        foreach ($trans_tbl as $k => $v) {
            $ttr[$v] = utf8_encode($k);
        }
    }
    $source = strtr($source, $ttr);
    // Convert decimal
    $source = preg_replace_callback('/&#(\\d+);/m', function ($m) {
        return utf8_encode(\chr($m[1]));
    }, $source);
    // Convert hex
    $source = preg_replace_callback('/&#x([a-f0-9]+);/mi', function ($m) {
        return utf8_encode(\chr('0x' . $m[1]));
    }, $source);
    return $source;
}