Otimização do uso de expressões regulares em PHP
Expressões regulares são algo muito pesado e relativamente lento. Quando existe uma solução alternativa, é preferível usá-la.
Vamos ver um exemplo. Suponha que precisamos verificar se uma determinada string começa com um ponto de exclamação. Um certo programador resolveu esta tarefa usando expressão regular:
<?php
if (preg_match('#^!#', $str)) {
echo 'sim';
} else {
echo 'não';
}
?>
No entanto, essa tarefa tem uma solução muito mais rápida:
<?php
if ($str[0] == '!') {
echo 'sim';
} else {
echo 'não';
}
?>
Expressões regulares são algo muito pesado e relativamente lento. Sempre que houver uma solução alternativa, é preferível usá-la.
No código a seguir, um certo programador verifica
se há uma substring '333' na string.
Otimize a solução desse programador.
Aqui está o código:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'existe';
} else {
echo 'não existe';
}
?>
No código a seguir, um certo programador verifica
se a string termina com .html.
Otimize a solução desse programador.
Aqui está o código:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'sim';
} else {
echo 'não';
}
?>
Escreva um código que verifique se uma string
termina com .png ou com .jpg.