Welcome Guest, Not a member yet? Register   Sign In
form_prep performance
#1

[eluser]Unknown[/eluser]
Code:
function form_prep($str = '')
{
    if ($str === '')
    {
        return '';
    }

    $temp = '__TEMP_AMPERSANDS__';
    
    // Replace entities to temporary markers so that
    // htmlspecialchars won't mess them up
    $str = preg_replace("/&#(\d+);/", "$temp\\1;", $str);
    $str = preg_replace("/&(\w+);/",  "$temp\\1;", $str);

    $str = htmlspecialchars($str);

    // In case htmlspecialchars misses these.
    $str = str_replace(array("'", '"'), array("'", """), $str);    
    
    // Decode the temp markers back to entities
    $str = preg_replace("/$temp(\d+);/","&#\\1;",$str);
    $str = preg_replace("/$temp(\w+);/","&\\1;",$str);    
    
    return $str;    
}


Code:
// Replace entities to temporary markers so that
// htmlspecialchars won't mess them up
$str = preg_replace("/&(?!\#[0-9]+;)/si", "&", $str);

Any best solution about it?




Theme © iAndrew 2016 - Forum software by © MyBB