Как найти подстроку в строке на php?

Пользователь

от enid , в категории: PHP , 2 года назад

Как найти подстроку в строке на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 2 года назад

@enid Используйте strpos() функцию в PHP чтобы найти и проверить есть ли подстрока в строке и затем substr() функцию чтобы получить подстроку из строки, ниже пример кода:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php

$substring = "dolor";
$string = "Lorem ipsum dolor sit amet, consectetur adipiscing.";

// Проверить если подстрока есть в строке
if (strpos($string, $substring) !== false) {
    // Вывод: dolor
    echo substr($string, strpos($string, $substring), strlen($substring));
} else {
    echo "Слово не найдено";
}


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от gussie.jones , год назад

@enid 

В PHP можно использовать функцию strpos(), чтобы найти первое вхождение подстроки в строке.


Синтаксис функции strpos() следующий:

1
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )


Где:

  • $haystack - обязательный параметр, строка, в которой будет производиться поиск.
  • $needle - обязательный параметр, подстрока, которую нужно найти в $haystack.
  • $offset - необязательный параметр, определяющий начальную позицию поиска в $haystack.


Функция strpos() возвращает позицию первого вхождения $needle в $haystack или false, если подстрока не найдена. Обратите внимание, что позиции в PHP начинаются с 0.


Например, чтобы найти первое вхождение подстроки "world" в строке "Hello, world!", можно использовать следующий код:

1
2
3
4
5
6
7
8
9
$string = "Hello, world!";
$substring = "world";
$position = strpos($string, $substring);

if ($position !== false) {
    echo "Подстрока найдена в позиции " . $position;
} else {
    echo "Подстрока не найдена";
}


Этот код выведет "Подстрока найдена в позиции 7".