Оптимизација употребе регуларних израза у PHP
Регуларни изрази су веома тешка и релативно спора ствар. Када постоји алтернативно решење, пожељно је користити управо њега.
Погледајмо на примеру. Претпоставимо да треба да проверимо да ли неки стринг почиње узвичником. Неки програмер је овај задатак решио преко регуларног израза:
<?php
if (preg_match('#^!#', $str)) {
echo 'да';
} else {
echo 'не';
}
?>
Међутим, овакав задатак има много брже решење:
<?php
if ($str[0] == '!') {
echo 'да';
} else {
echo 'не';
}
?>
Регуларни изрази су веома тешка и релативно спора ствар. Увек, где постоји алтернативно решење, пожељно је користити управо њега.
У следећем коду неки програмер проверava,
да ли у стрингу постоји подстринг '333'.
Оптимизујте решење овог програмера.
Ево кода:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'има';
} else {
echo 'нема';
}
?>
У следећем коду неки програмер проверava,
да ли стринг завршава на .html.
Оптимизујте решење овог програмера.
Ево кода:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'да';
} else {
echo 'не';
}
?>
Напишите код који ће проверaвати да ли стринг завршава
на .png или на .jpg.