0

我正在尝试在 PHP 中进行一些字符串匹配。我在变量中有以下 url 字符串:

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

我想/gift.nintendo-3ds从上面删除,但礼物总是不同的。

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

phones/handset.blackberry-9790.html

谢谢

4

3 回答 3

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

匹配/礼物。然后直到下一个斜杠并将其替换为空白。

于 2012-08-28T07:15:31.570 回答
1

尝试:

$input  = 'phones/gift.nintendo-3ds/handset.blackberry-9790.html';
$output = preg_replace('(gift\.[^/]*\/)', '', $input);
于 2012-08-28T07:15:55.267 回答
0

您可以将其拆分,删除您不想保留的第二部分,然后再次连接它:

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

这并没有使用您可能想到的任何正则表达式,但可能会告诉您一些其他有用的功能。

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

正则表达式变体可以是:

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

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

于 2012-08-28T09:45:48.107 回答