我有以下URI:
/host/segment1[?parm1=value1¶m2=value2]/segment2/segment3[?parm1=value1¶m2=value2]
正如您所见,我想省略方括号内的内容,就像它是:
/host/segment1/segment2/segment3
编辑:方括号只是我想要忽略的内容的示例,它们不会实际出现在细分中。 一个真正的考试将是:
/host/segment1?parm1=value1¶m2=value2/segment2/segment3?parm1=value1¶m2=value2
是否可以使用正则表达式实现此目的?
答案 0 :(得分:3)
你这样做:
$result = preg_replace('~\?[^/]++~', '', $uri);
详细说明:
\? question mark
[^/]++ all characters that are not a slash one or more times
~ used to delimite the regular expression