Оптимизация на използването на регулярни изрази в PHP
Регулярните изрази са много тежка и относително бавно работеща работа. Когато има алтернативно решение, желателно е да се използва именно то.
Нека разгледаме пример. Да предположим, че трябва да проверим дали даден низ започва с удивителен знак. Някой програмист е решил тази задача чрез регулярен израз:
<?php
if (preg_match('#^!#', $str)) {
echo 'да';
} else {
echo 'нет';
}
?>
Въпреки това, такава задача има много по- бързо работещо решение:
<?php
if ($str[0] == '!') {
echo 'да';
} else {
echo 'нет';
}
?>
Регулярните изрази са много тежка и относително бавно работеща работа. Винаги, когато има алтернативно решение, желателно е да се използва именно то.
В следния код някой програмист проверява,
дали в низа има подниз '333'.
Оптимизирайте решението на този програмист.
Ето кода:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'има';
} else {
echo 'няма';
}
?>
В следния код някой програмист проверява,
дали низът завършва на .html.
Оптимизирайте решението на този програмист.
Ето кода:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'да';
} else {
echo 'не';
}
?>
Напишете код, който ще проверява дали низ
завършва на .png или на .jpg.