Оптимизација на употребата на регуларни изрази во 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.