$url1 = 'world/id/insael/';
$url2 = 'world/profile/insael/';
// Определяем шаблон для извлечения "insael"
$pattern = '#world/(id|profile)/([^/]+)/#';
if (preg_match($pattern, $url1, $matches)) {
// $matches[2] содержит то, что мы ищем
echo "Привет " . $matches[2];
} elseif (preg_match($pattern, $url2, $matches)) {
echo "Привет " . $matches[2];
} else {
echo "Строка не соответствует шаблону";
}
Объяснение:
Шаблон регулярного выражения:
# — это разделитель регулярного выражения.
world/ — ищем строку, начинающуюся с world/.
(id|profile) — либо id, либо profile.
/([^/]+)/ — захватываем всё, что идёт после id/ или profile/, до следующего /.
preg_match:
Функция ищет совпадение строки с шаблоном.
Если совпадение найдено, то результат захватывается в массив $matches, где:
$matches[0] — это полное совпадение.
$matches[1] — это id или profile.
$matches[2] — это insael.
Проверка нескольких строк:
Вы можете использовать одно и то же регулярное выражение для любых строк с нужной структурой.
Этот подход легко расширить, если появятся дополнительные паттерны, и он более устойчив, чем разбиение строк вручную.
$url= 'world/id/insael/';
$findme = 'world/profile/insael/"
$pos = strpos($url, $findme);
if ($pos === false) {
echo "Строка не найдена";
}
else
{
$url = explode("world/id/",$url);
echo "Строка найдена разделяем и выводи то что идет после world/id/";
echo "Привет " . $url[1];
//Выводит ПРивет insael/
}