我想在PHP中做一些字符串匹配。我有一个变量以下URL字符串:匹配PHP中常见字符之间的唯一字符串
phones/gift.nintendo-3ds/handset.blackberry-9790.html
我想请从上面的/gift.nintendo-3ds
,但礼物将永远是不同的。
任何想法?我想url变量看起来像这样每次调用不同的礼物后:
phones/handset.blackberry-9790.html
感谢
我想在PHP中做一些字符串匹配。我有一个变量以下URL字符串:匹配PHP中常见字符之间的唯一字符串
phones/gift.nintendo-3ds/handset.blackberry-9790.html
我想请从上面的/gift.nintendo-3ds
,但礼物将永远是不同的。
任何想法?我想url变量看起来像这样每次调用不同的礼物后:
phones/handset.blackberry-9790.html
感谢
尝试:
$input = 'phones/gift.nintendo-3ds/handset.blackberry-9790.html';
$output = preg_replace('(gift\.[^/]*\/)', '', $input);
preg_replace('/\/gift\.[^/]*/', '', $url);
匹配/礼品。然后直到下一个斜杠,并用空白替换它。
$ URL = '手机/ gift.nintendo-3DS/handset.blackberry-9790.html' ; $ url = preg_replace('/ \/gift \。[^ /] * /','',$ url); –
你可以开拆呢,删除第二个部分,你不想保留,然后CONCAT一遍:
$parts = explode('/', $url, 3);
unset($parts[1]);
$result = implode('/', $parts);
这是不使用任何正则表达式正如你可能想到的,但可能会告诉你一些其他有用的功能。
演示:http://codepad.org/a1pNW8J6
一个正则表达式的变体可能是:
echo preg_replace('~^([^/]+)(/[^/]+)~', '$1', $url);
这是另一个很好的解决方案谢谢。 –
非常感谢! –