@sdsd111111111111

Использовать ли регулярные выражение?

Использовать ли регулярное выражение при обработке строки к шаблону а-я a-z0-9или в php есть функции для этого? интересует скорость выполнения, регулярные выражение же нагружают больше чем php фунцкии да?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
gromdron
@gromdron
Работаю с Bitrix24
Иными словами: у Вас есть некоторая строка длинной X и Вы хотите оставить в ней только символы по маске а-яА-Яa-zA-Z0-9 (прописные и строчные буквы русского и латинского алфавита + цифры + пробел). Если тотально не доверяете пользователю, я бы рекомендовал все же использовать регулярное выражение, так как в unicode более 8 тысяч символов и ни один из существующих php-функций не вернет Вам их все. В таком случае, регулярное выражение обеспечит наиболее удобный, легкочитаемый и быстрый вариант.

Но есть одно НО - длинна строки (pcre.recursion_limit). Например при строке в 4096 символов Вы в легкую можете получить Segmentation fault и работа скрипта прекратится.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
gobananas
@gobananas
finishhim.ru
Вот прям такой функции кроме регулярного выражения не припоминаю, поэтому, поэтому, оно здесь безальтернативно скорее всего. Скорость имеет значение только если у вас их миллион подряд выполняются, что в данном случае маловероятно.
Ответ написан
Комментировать
be_a_dancer
@be_a_dancer
Backend/Fullstack Developer
Регулярные выражения также являются частью языка PHP. Но да, ты прав, они требуют чуть больше процессорного времени на выполнение. Я бы рекомендовал все же воспользоваться ими, так как выигрыш в оптимизации будет крайне низок и в не HighLoad проектах, где важна каждая доля секунды и нагрузка на процессор и подсистему памяти.
Проще говоря: не парься, используй их.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы