preg_match从字符串返回多个值

肯德里克

我想从某些URL中提取两个值。

范例网址:

  • cricket-ck-game-play
  • hand-ball-hb-game-play
  • volley-ball-vb-game-play
  • soccer-sc-game-play

我想提取完整的游戏名称和它的简称,而忽略-game-playURL末尾部分。

我尝试了以下代码,这些代码返回'ck','hb','vb','sc',但不返回全名

preg_match("/(?<=-)[^-]*(?=-game-play)/", $uri, $game);

我得到的实际结果:

array(1) {
  [0]=>
  string(2) "ck"
}

预期成绩:

case:1 (In case of example 1) -  array(2) {
  [0]=>
  string(7) "cricket"
  [1]=>
  string(2) "ck"
}

case:2 (In case of example 2) - array(2) {
  [0]=>
  string(9) "hand-ball"
  [1]=>
  string(2) "hb"  
}
犯规
preg_match("/(.+)-([a-z]{2})-/i", $uri, $game);

抓住用破折号包围的两个字母之前的所有内容,然后抓取这两个字母。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章