ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

можно ли искать в строке подстроки массивом?
  #1  
Старый 26.10.2009, 19:35
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
Question можно ли искать в строке подстроки массивом?

т.е. я хочу сделать такую конструкцию

PHP код:

$str 
= array('first''second''third');

if(
in_string($string$str))
 echo 
'ok'
так, чтобы если В строке Есть хоть Один элемент Массива - вернула 1, если нет ни одного совпадения - 0

может есть стандартные функции, о которых я не знаю?

PS stristr($string, $needle) я знаю, но туда не засунешь массив. приходится писать

PHP код:
if(strstr($str$one) || strstr($str$second) || ...) 
 
Ответить с цитированием

  #2  
Старый 26.10.2009, 19:48
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

http://ru.php.net/in_array
 
Ответить с цитированием

  #3  
Старый 26.10.2009, 20:00
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

нет, он будет искать в массиве элемент который равен строке
а мне надо искать в строке подстроки (которых - целый массив)
 
Ответить с цитированием

  #4  
Старый 26.10.2009, 20:11
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

ага, немного не так подумал. Стандартную функцию не знаю, может, и есть. Можно такую заюзать
PHP код:
  function in_string ($string$find) {
    
$flag 0;
    foreach (
$find as $elem)
      if (
strpos ($string$elem) !== false)
        
$flag 1;
    return 
$flag;
  } 
 
Ответить с цитированием

  #5  
Старый 26.10.2009, 21:45
Аватар для Дикс
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

так и я могу
тогда уж

PHP код:
function in_str($string$substrs)
{
    if(
sizeof($substrs))
    foreach(
$substrs as $substr)
        if(
stristr($string$substr))
            return 
1;

    return 
0;

кто может сделать её ещё лаконичнее?
 
Ответить с цитированием

  #6  
Старый 27.10.2009, 09:39
Аватар для Exgibichi
Exgibichi
Новичок
Регистрация: 07.07.2008
Сообщений: 6
Провел на форуме:
315057

Репутация: 10
По умолчанию

как то так
PHP код:
function in_str($string$sub) {
 
    
str_replace($sub''$string$c);
    
    if(
$c) { return 1; } else { return 0; }
    

 
Ответить с цитированием

  #7  
Старый 27.10.2009, 15:37
Аватар для Exgibichi
Exgibichi
Новичок
Регистрация: 07.07.2008
Сообщений: 6
Провел на форуме:
315057

Репутация: 10
По умолчанию

ну или рег экспами
PHP код:
function in_str($string$sub) {
 
    if(
preg_match('/('.join('|'$sub).')/siU'$string$m)) { return 1; } else { return 0; }
    

 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lineage 2 Chronicle 4 Inferno Болталка 1 02.02.2006 16:44
химия своими руками silveran Болталка 43 11.01.2006 22:05
Основы Phreaking'а silveran Телефония и связь 0 13.07.2005 13:33
SQL инъекция в сервере MySQL k00p3r Чужие Статьи 0 12.06.2005 12:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ