2015-09-13 3 views
0

Мне нужно сделать сравнение двух строк. Первая строка выглядит следующим образом:preg_match на части строки для соответствия другой строке

http://my.app/admin/users/administrators/{id}/edit 

вторая строка выглядит следующим образом:

http://my.app/admin/users/administrators/1/edit 

значение {id} представляет собой числовой символ так, строки выше, должны соответствовать. Если бы я был бы сравнить эту строку вместо этого, то это не будет соответствовать:

http://my.app/admin/users/administrators/xxx/edit 

Как я могу проверить, если строки совпадают с помощью PHP/Laravel?

+0

Это должно быть возможным с помощью основного сопоставления регулярных выражений. Сначала попробуйте сначала в Google, а затем задайте другой вопрос, если вы все еще застряли. – panmari

+0

** Значение {id} представляет собой числовой символ ** Где это правило определено? – anubhava

ответ

0

Вы можете использовать предпросмотр для достижения этой

/(?<=administrators\/)\d+(?=\/edit)/ 

Regex explanation here

PHP:

$re = "/(?<=administrators\\/)\\d+(?=\\/edit)/"; 
$str = "http://my.app/admin/users/administrators/1/edit"; 

preg_match($re, $str, $matches); 

UPDATE: Поскольку URL содержит имеющие только один числовой комбинации так мы можем ул использовать

/\d+/ 

Regex explanation here

Смежные вопросы