htmlspecialchars($string, ENT_NOQUOTES);
... è di circa 2,5 volte più lento di:Perché "htmlspecialchars" è lento?
str_replace(array('&', '<', '>'), array('&', '<', '>'), $string);
Vuol htmlspecialchars
fare qualcosa che la linea str_replace
non lo fa?
p.s. Ho misurato la velocità in PHP 5.4, usando microtime
.
@Juampi Prendi una pugnalata a ciò che ENT_NOQUOTES significa ... –
Ecco la fonte https://github.com/php/php-src/blob/master/ext/standard/html.c Ha un lavoro aggiuntivo considerando il set di caratteri in anticipo, utilizzando diversi set sostitutivi invece dell'elenco fisso di str_replace, ecc. – mario
Utilizzare anche meglio 'strtr' di' str_replace'. Ma questo è solo un commento. – hakre