Optimización del uso de expresiones regulares en PHP
Las expresiones regulares son algo muy pesado y relativamente lento. Cuando existe una solución alternativa, es recomendable usarla.
Veamos un ejemplo. Supongamos que necesitamos verificar si una determinada cadena comienza con un signo de exclamación. Un programador resolvió esta tarea mediante una expresión regular:
<?php
if (preg_match('#^!#', $str)) {
echo 'sí';
} else {
echo 'no';
}
?>
Sin embargo, esta tarea tiene una solución mucho más rápida:
<?php
if ($str[0] == '!') {
echo 'sí';
} else {
echo 'no';
}
?>
Las expresiones regulares son algo muy pesado y relativamente lento. Siempre que exista una solución alternativa, es recomendable usarla.
En el siguiente código, un programador verifica
si existe la subcadena '333' en una cadena.
Optimice la solución de este programador.
Aquí está el código:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'existe';
} else {
echo 'no existe';
}
?>
En el siguiente código, un programador verifica
si la cadena termina en .html.
Optimice la solución de este programador.
Aquí está el código:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'sí';
} else {
echo 'no';
}
?>
Escriba un código que verifique si una cadena
termina en .png o en .jpg.