Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Найти подстроку в строке.
Форумы портала PHP.SU » » Вопросы новичков » Найти подстроку в строке.

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

1. SidneyShow - 08 Мая, 2017 - 17:07:28 - перейти к сообщению
Здравствуйте, можно ли как-то проверить есть подстрока в строке или нет, не используя цикл?
К примеру есть строка и нужно извлечь число 6, пробовал сделать так:

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

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

но проблема в том, что находилось и число 6 и число 16, но мне нужно только 6. Можно ли как-то найти конкретное число?
2. caballero - 08 Мая, 2017 - 17:16:59 - перейти к сообщению
а зачем извлекать если вы уже знаете что это за подстрока?
просто проверте строку на наличие подстроки обычным strpos() например

извлечь это если из такой то позиции такое то количество символоыв
3. SidneyShow - 08 Мая, 2017 - 17:39:19 - перейти к сообщению
caballero пишет:
а зачем извлекать если вы уже знаете что это за подстрока?
просто проверте строку на наличие подстроки обычным strpos() например

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


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

Ну тогда explode и ищите циклом по массиву
5. SidneyShow - 08 Мая, 2017 - 21:05:35 - перейти к сообщению
caballero пишет:
тогда определитесь по каким критериям вы это число ищете
хотите извлечь число в котором есть 6?
а как числа разделены? Точкой как в примере?

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


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

Вообщем спасибо за помощь, буду делать через explode .
6. Строитель - 08 Мая, 2017 - 22:42:55 - перейти к сообщению
SidneyShow
Спойлер (Отобразить)

 

Powered by ExBB FM 1.0 RC1