Есть адрес типа /catalog/cat1/cat2/, притом, cat1 и cat2 могут быть любыми. Нужно регулярное выражение для функции preg_match, пропускающее все подобные адреса: начинающиеся с catalog и имеющие вложенность до 2 уровня.
/\/catalog\/\/\w+\/\w+\//i
Это выражение не работает.
Нужно регулярное выражение для функции preg_match, пропускающее все подобные адреса: начинающиеся с catalog и имеющие вложенность до 2 уровня
Попробуйте такой вариант:
$str = '/catalog/cat1/cat2/';
preg_match('~catalog/(?:[\pL\d-]+/){2}$~', $str, $arr);
var_dump($arr);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей