PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Найти подстроку в строке.
SidneyShow
Отправлено: 08 Мая, 2017 - 17:07:28
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Апр. 2016  


Помог: 0 раз(а)




Здравствуйте, можно ли как-то проверить есть подстрока в строке или нет, не используя цикл?
К примеру есть строка и нужно извлечь число 6, пробовал сделать так:

$str = '5.6.26.16.19';
$find = '6';

if(preg_match('/'.$find.'\D/', $str)){
echo'NASHEL';
}else{
echo'NE NASHEL';
}

но проблема в том, что находилось и число 6 и число 16, но мне нужно только 6. Можно ли как-то найти конкретное число?

(Отредактировано автором: 08 Мая, 2017 - 23:03:02)

 
 Top
caballero
Отправлено: 08 Мая, 2017 - 17:16:59
Post Id


Активный участник


Покинул форум
Сообщений всего: 6001
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




а зачем извлекать если вы уже знаете что это за подстрока?
просто проверте строку на наличие подстроки обычным strpos() например

извлечь это если из такой то позиции такое то количество символоыв

(Отредактировано автором: 08 Мая, 2017 - 17:17:25)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
SidneyShow
Отправлено: 08 Мая, 2017 - 17:39:19
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Апр. 2016  


Помог: 0 раз(а)




caballero пишет:
а зачем извлекать если вы уже знаете что это за подстрока?
просто проверте строку на наличие подстроки обычным strpos() например

извлечь это если из такой то позиции такое то количество символоыв


Извиняюсь, не точно сформулировал вопрос. Нужно не извлечь, а проверить существует ли подстрока в строке. Функция strpos() здесь не подойдёт, так как искомое число может иметь длину от 1 до 4 символов. То есть при попытке найти значение 6 будет найдено и 6 и 16 и 166.
 
 Top
caballero
Отправлено: 08 Мая, 2017 - 17:43:35
Post Id


Активный участник


Покинул форум
Сообщений всего: 6001
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




тогда определитесь по каким критериям вы это число ищете
хотите извлечь число в котором есть 6?
а как числа разделены? Точкой как в примере?

Ну тогда explode и ищите циклом по массиву

(Отредактировано автором: 08 Мая, 2017 - 17:44:17)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
SidneyShow
Отправлено: 08 Мая, 2017 - 21:05:35
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Апр. 2016  


Помог: 0 раз(а)




caballero пишет:
тогда определитесь по каким критериям вы это число ищете
хотите извлечь число в котором есть 6?
а как числа разделены? Точкой как в примере?

Ну тогда explode и ищите циклом по массиву


Ну критериев тут не много, например дано число (оно может быть от 1 до 4 символов) и нужно проверить есть ли это число в строке (числа идут через точку, как в примере). И я хотел при помощи preg_match проверить есть ли это число в строке, не используя при этом цикл. Но видимо тут только циклом.

Вообщем спасибо за помощь, буду делать через explode .
 
 Top
Строитель Модератор
Отправлено: 08 Мая, 2017 - 22:42:55
Post Id



Участник


Покинул форум
Сообщений всего: 1544
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 70 раз(а)




SidneyShow
Спойлер (Отобразить)


-----
~ PHP-7 & REGEXP - This is a really powerful kit ~
****************************************
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB