HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

Репутация: 537


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
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами: 10021597

Репутация: 905


По умолчанию

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

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

Репутация: 537


По умолчанию

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

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

Репутация: 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
С нами: 10562786

Репутация: 537


По умолчанию

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

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
Новичок
Регистрация: 07.07.2008
Сообщений: 6
С нами: 9391835

Репутация: 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
Новичок
Регистрация: 07.07.2008
Сообщений: 6
С нами: 9391835

Репутация: 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



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


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




ANTICHAT ™ © 2001- Antichat Kft.