2012-08-28 94 views
0

我想在PHP中做一些字符串匹配。我有一个变量以下URL字符串:匹配PHP中常见字符之间的唯一字符串

phones/gift.nintendo-3ds/handset.blackberry-9790.html 

我想请从上面的/gift.nintendo-3ds,但礼物将永远是不同的。

任何想法?我想url变量看起来像这样每次调用不同的礼物后:

phones/handset.blackberry-9790.html 

感谢

回答

1

尝试:

$input = 'phones/gift.nintendo-3ds/handset.blackberry-9790.html'; 
$output = preg_replace('(gift\.[^/]*\/)', '', $input); 
+0

非常感谢! –

3
preg_replace('/\/gift\.[^/]*/', '', $url); 

匹配/礼品。然后直到下一个斜杠,并用空白替换它。

+0

$ URL = '手机/ gift.nintendo-3DS/handset.blackberry-9790.html' ; $ url = preg_replace('/ \/gift \。[^ /] * /','',$ url); –

0

你可以开拆呢,删除第二个部分,你不想保留,然后CONCAT一遍:

$parts = explode('/', $url, 3); 
unset($parts[1]); 
$result = implode('/', $parts); 

这是不使用任何正则表达式正如你可能想到的,但可能会告诉你一些其他有用的功能。

演示:http://codepad.org/a1pNW8J6

一个正则表达式的变体可能是:

echo preg_replace('~^([^/]+)(/[^/]+)~', '$1', $url); 

演示:http://codepad.org/vyR04xMn

+0

这是另一个很好的解决方案谢谢。 –