我正在尝试用PHP进行一些字符串匹配。我在一个变量中有以下url字符串:
phones/gift.nintendo-3ds/handset.blackberry-9790.html
我想从上面删除/gift.nintendo-3ds
,但礼物总是不同的。
有什么想法吗?我想在每次调用不同的礼物后,url变量看起来像这样:
phones/handset.blackberry-9790.html
感谢
preg_replace('/'/gift'.[^/]*/', '', $url);
火柴/礼物。然后任何东西,直到下一个斜线,并将其替换为空白。
尝试使用:
$input = 'phones/gift.nintendo-3ds/handset.blackberry-9790.html';
$output = preg_replace('(gift'.[^/]*'/)', '', $input);
您可以将其拆分,删除不想保留的第二部分,然后再次合并:
$parts = explode('/', $url, 3);
unset($parts[1]);
$result = implode('/', $parts);
这并没有使用您可能想到的任何正则表达式,但可能会告诉您其他一些有用的函数。
演示:http://codepad.org/a1pNW8J6
正则表达式变体可以是:
echo preg_replace('~^([^/]+)(/[^/]+)~', '$1', $url);
演示:http://codepad.org/vyR04xMn