Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

20.05.2010, 15:08
|
|
Познающий
Регистрация: 30.03.2008
Сообщений: 64
Провел на форуме: 388255
Репутация:
15
|
|
Регулярка с условием
Есть строка $ctr = "форум безопасности antichat.ru";
Есть массив $a с неизвестным количесвом элементов, например 3:
$a[0] = "фор";
$a[1] = "без";
$a[2] = "icha";
$cnt = count ($a); // тут считаем количесво элементов массива, так как оно не известно.
Как сделать условие:
Если в строке присутствуе эти массивы, то делаем то-то.
if ( preg_match ('/что-то тут пишем/' , $ctr) ) {
выполняем то что нужно
}
Последний раз редактировалось GivioN; 20.05.2010 в 15:11..
|
|
|

20.05.2010, 16:57
|
|
Участник форума
Регистрация: 04.03.2006
Сообщений: 159
Провел на форуме: 473495
Репутация:
39
|
|
PHP код:
$ctr = "форум безопасности antichat.ru";
$a=array('фор', 'без', 'icha');
foreach ($a as $value) {
if ( preg_match ('/'.$value.'/' , $ctr) ) {
echo "Найдено вхождение $value.";
}
}
|
|
|

20.05.2010, 17:06
|
|
Познающий
Регистрация: 14.05.2008
Сообщений: 58
Провел на форуме: 528944
Репутация:
4
|
|
PHP код:
$ctr = "форум безопасности antichat.ru";
$a[0] = "фор";
$a[1] = "без";
$a[2] = "icha";
$f=1;
foreach($a as $el)
{
if(!preg_match("/$el/",$ctr)) {$f=0;break;}
}
if($f)
{
//делай чо нужно, все элементы массива были найдены в $ctr
}
Последний раз редактировалось 4upakabr0; 20.05.2010 в 17:55..
|
|
|

20.05.2010, 17:18
|
|
Познающий
Регистрация: 07.02.2010
Сообщений: 70
Провел на форуме: 217996
Репутация:
56
|
|
> if(!preg_match("/$el/",$ctr)) {$f=0;break;}
в таком случае лучше использовать substr_count() без всяких регулярок
if(substr_count($ctr,$el)==0){$f=0;break;}
Последний раз редактировалось roxblnfk; 20.05.2010 в 19:05..
|
|
|

20.05.2010, 17:20
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от roxblnfk
> if(!preg_match("/$el/",$ctr)) {$f=0;break;}
в таком случае лучше использовать substr_count() без всяких регулярок
if(substr_count($ctr,$el)>0){$f=0;break;}
PHP код:
if(!stristr($variables,$needle)){...}
А может ему нужно было сразу все элементы в строке проверить? А не по одному =)
PHP код:
$val = array('one','two','three');
$pattern = '#'.implode('.*',$val).'#';
if(!preg_match($pattern,$body)){...}
Что-то вроде этого.
Последний раз редактировалось m0Hze; 20.05.2010 в 17:23..
|
|
|

20.05.2010, 17:28
|
|
Познающий
Регистрация: 14.05.2008
Сообщений: 58
Провел на форуме: 528944
Репутация:
4
|
|
Сообщение от roxblnfk
> if(!preg_match("/$el/",$ctr)) {$f=0;break;}
в таком случае лучше использовать substr_count() без всяких регулярок
if(substr_count($ctr,$el)>0){$f=0;break;}
Во-первых, не а
PHP код:
substr_count($ctr,$el)==0
Во-вторых, чем оно лучше?
В-третьих, читай ТС и его вопрос внимательнее дабы понять какими средствами ему необходимо сделать 
|
|
|

20.05.2010, 18:25
|
|
Познающий
Регистрация: 07.02.2010
Сообщений: 70
Провел на форуме: 217996
Репутация:
56
|
|
протестировал, работает, хотя и не правильно
PHP код:
$body='atwo one1 threee ';
$val = array('one','two','three');
$str = '('.implode('|',$val).')';
$arr=array_fill(0,count($val),$str);
$text='/'.implode('.*.',$arr).'/';
echo preg_match($text,$body);
Последний раз редактировалось roxblnfk; 20.05.2010 в 19:19..
|
|
|

20.05.2010, 19:14
|
|
Познающий
Регистрация: 30.03.2008
Сообщений: 64
Провел на форуме: 388255
Репутация:
15
|
|
Да, уж не ожидал что будет такая горячая темка, горячие посты уже удалили.
Вообщем спасибо всем, кто отписался. особенно 4upakabr0, твой вариант помог, то что надо.
Поставил +++ но чет не добавилось.
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
как убрать пароль админа Vista?(с условием)
|
REBUUS |
Болталка |
14 |
17.10.2009 13:35 |
|
регулярка
|
rubik-nerubik |
PHP, PERL, MySQL, JavaScript |
11 |
01.10.2009 09:10 |
|
Регулярка тупит. Пхп.
|
Krist_ALL |
PHP, PERL, MySQL, JavaScript |
2 |
31.07.2009 16:14 |
|
Регулярка
|
Trieg |
PHP, PERL, MySQL, JavaScript |
5 |
04.05.2009 12:39 |
|
регулярка
|
попугай |
PHP, PERL, MySQL, JavaScript |
9 |
17.01.2009 16:37 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|