PHP正则表达式 - 在斜杠之间获取文本

时间:2011-11-28 12:49:56

标签: regex

我需要以下内容,但我不知道如何使用正则表达式。

第一个问题

  

来自$ uri ='/ page / subpage /?vars = bla'我只想提取   '/页面/子页面/';

第二个问题

  

$ uri ='/ page / subpage /?vars = bla'我想将其转换为   友好版''/ page / subpage / vars-bla /';现在我可以做到   '/ page-subpage-vars-bla /'但我想保留斜杠。

谢谢你提前!

2 个答案:

答案 0 :(得分:2)

第一个问题解决方案:

preg_match("/(.*)\\/([^\\/]+)/", '/page/subpage/?vars=bla', $split);
echo $split[1] . "/";

输出:

/page/subpage/

第二个问题:

preg_match("/(.*)\\/([^\\/]+)/", '/page/subpage/?#$Q@DFSDFvars=bla', $split);
echo $split[1] . "/" . str_replace("=", "-", $split[2]) . "/";

输出:

/page/subpage/?#$Q@DFSDFvars-bla/

答案 1 :(得分:0)

为什么不使用parse_url()

$uri = '/page/subpage/?vars=bla';
parse_url($uri);

结果...

array
  'path' => string '/page/subpage/' (length=14)
  'query' => string 'vars=bla' (length=8)