如何应用正则表达式检查路由参数是在数组中

时间:2016-12-12 11:31:35

标签: php regex laravel

我有这样的路线。我正在尝试检查路由参数socialfacebookgoogle还是twitter

Route::get('/login/{social}', 'Auth\LoginController@loginSocial')
->where('social',["facebbok","google","twitter"]);

以上路线不起作用。它要求正则表达式。请帮忙。

如何检查?

4 个答案:

答案 0 :(得分:3)

试试这个:

Route::get('/login/{social}', 'Auth\LoginController@loginSocial')
->where('social','(facebook|google|twitter)');

答案 1 :(得分:0)

路由实例上的where方法接受参数名称和正则表达式,第二个参数不是正则表达式:

Route::get('/login/{social}', 'Auth\LoginController@loginSocial')
->where('social','(facebook|google|twitter)');

这是一个有效的RegExp

答案 2 :(得分:0)

你还没有说明foreach (ComboBox cb in Controls) { cb.SelectedIndex = -1; } 的方法签名,但猜测是:

->where

答案 3 :(得分:0)

希望这种情况对你有所帮助。

if m == e
  '0'
elsif e == 0
  put "not defined"    
else
  ((m - e)/e).to_s
end