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);

/giftに一致します。次に、次のスラッシュまで何でも、それを空白に置き換えます。

于 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

それを分割し、保持したくない2番目の部分を削除してから、再度連結することができます。

$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 に答える