![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Muerto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
Есть массив некий whitelist
Я получаю от пользователя данные, и я хочу узнать если часть текста совпадает с чем то в массиве whitelist могу сделать foreach но уверен что есть методы поумней какой нить preg_match который пройдет по массиву и полученными данными и вернет результат |
|||
|
||||
| Muerto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
Не ясно вопрос задан =-( ?
Есть массив
Как мне взять и по preg_match проверить если в слове abrakadabra есть 'a'или 'b' или 'c' Массив размером допустим 100 пока что пришло в голову foreach и pregmatch или strpos но эт не дело |
|||
|
||||
| enoff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 30.6.2010 Где: Санкт-Петербург Репутация: 11 Всего: 13 |
первое, что пришло в голову
а можно в цикле склеить регулярку. |
|||
|
||||
| Muerto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
enoff, Спасибо уже лучше чем сейчас, если других идей не будет таки воспользуюсь
|
|||
|
||||
| solenko |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Я так понимаю, нужно проверить входит ли хоть какой-то элемент из whitelist в текст. Павильно?
тогда вот это:
будет значительно менее эффективно чем foreach + strpos потому что будет: 1. Обрабатывать все элементы, даже если найдено вхождение первого же 2. Будет создавать копию текста и выполнять замену. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
||||
|
|||||
| enoff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 30.6.2010 Где: Санкт-Петербург Репутация: 11 Всего: 13 |
||||
|
||||
| Muerto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
solenko а кто сказал что мы до конца будем идти если нашли? есть и break; есть и return =-)
А насчет whitelist вы правильно поняли... Надо проверить если один из элементов массива присутствует в нашем String Добавлено @ 21:03 enoff, Таки наверно склею регулярку Это сообщение отредактировал(а) Muerto - 24.1.2011, 21:04 |
|||
|
||||
| solenko |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
ну не вижу я возможности тут вставить ни break ни return ) Вы прогоните несколько тестов на ожидаемых данных. Подозреваю, что производительность регулярки будет нелинейной. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
||||
|
|||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |