АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP или фреймворки. Сегодня последний день для записи! Жми!
⊗ppSpOtRg 91 of 95 menu
НОВИНКА: Практика на Реальных Проектах и Работы в Портфолио. Бесплатный курс! Жми для записи!

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