简单的php正则表达式问题

时间:2010-11-22 22:22:02

标签: php regex string uri

我有一个字符串:

$uri = "start/test/go/";

基本上我需要知道我可以使用哪个正则表达式和PHP函数来匹配第一个项目和正斜杠(“/”)并将其从字符串中删除。如果第一个项目没有开始,它也应该有效,并且其他任何可能还有空格的东西。 所以这些组合都应该有效:

$uri = "start_my_test/test/go/";
$uri2 = "start my test/test/go/";

然后在RegEx之后它应该总是返回:

$newUri = "test/go/";

哦,字符串的另一面也可以是任何东西,所以基本上我希望它在第一次出现正斜杠之前删除任何东西。

干杯

3 个答案:

答案 0 :(得分:4)

使用strstr查找php中第一次出现的字符串。

这本身应该返回字符串的其余部分。

see here

答案 1 :(得分:0)

$result = preg_replace('/^[^\/]*\//' , '', $subject);

这表示“从字符串”^的开头开始,“匹配任何不是正斜杠的字符”[^\/]*,然后匹配单个正斜杠\/ - 并“无需替换整个匹配的东西”''

答案 2 :(得分:0)

正则表达式对于您需要的操作来说太昂贵了。请改用strpossubstr

$position = strpos($needle, $haystack);
if ( $position !== false ) {
  $result = substr($needle, $position + 1);
}