Sitenizde herhangi bir programla diliyle ilgili kodları göstermek istediğimizde kodumuzun içerisinde bulunan özel html karakterlerini temizlemeliyiz (Buradan özel html karakterlerinin listesine bakabilirsiniz.).

Biraz araştırdıktan sonra aşağıdaki kodu buldum.

function pre_code_esc_html($content='')
{
    if(!$content) 
        return $content;
    
    $esc_pre = preg_replace_callback(
                    '#(<pre.*?>)(.*?)(</pre>)#imsu',
                    create_function(
                            '$i',
                            'return $i[1].esc_html($i[2]).$i[3];'
                    ),
                    $content
    );

    return preg_replace_callback(
            '#(<code.*?>)(.*?)(</code>)#imsu',
            create_function(
                    '$i',
                    'return $i[1].esc_html($i[2]).$i[3];'
            ),
            $esc_pre
    );
}

function esc_html($html, $char_set = 'UTF-8')
{
    if(empty($html))
    {
        return '';
    }

    $html = (string) $html;
    $html = htmlspecialchars($html, ENT_QUOTES, $char_set);

    return $html;
}

//Örnek kullanım
$temizlenmis_metin = pre_code_esc_html("temizlenecek metin");

Kendi sitemde de bu kodu kullanmaktayım herhangi bir sorunla karşılaşmadım sizde rahatlıkla kullanabilirsiniz .