如何从正则表达式中获取(部分)变量?

时间:2011-10-27 06:50:16

标签: php regex path

我不太了解正则表达式,我对从正则表达式检查中获取部分变量的可能性存有疑问。我试着解释一下我在找什么......

我有这样的道路:

example.com/dir1/
example.com/dir1/val1
example.com/dir1/val1-val2

我想创建一个提取 dir1 val1 val2 的表达式。

我的问题是:

我是否可以仅提取存在的变量,还是必须编写3个表达式?我的意思是......

如果我使用规则:example.com/dir1/val1-val2

如果我传递的网址是www.example.com/category(dir1 =类别),我只能获得dir1吗?

然后如果网址为:www.example.com/category/car

获取dir1 = categoryval1 = car

2 个答案:

答案 0 :(得分:1)

如果可能,

explode("/", $url)最简单。如果结构比允许的更复杂,则可以使用preg_split()代替并列出可用作细分的所有可能字符。

$urlParts = preg_split('/[_\/-]/', $url);

答案 1 :(得分:0)

你可以使用explode('/',$ url);要获得包含所有值的数组,不应使用正则表达式来解决此类问题