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-пен аяқталатынын тексеретін код жазыңыз.