PHPで文字列照合を実行しようとしています。変数に次のURL文字列があります。
phones/gift.nintendo-3ds/handset.blackberry-9790.html
上記から削除したいのです/gift.nintendo-3ds
が、プレゼントはいつも違います。
何か案は?異なるギフトを呼び出すたびに、url変数を次のように表示します。
phones/handset.blackberry-9790.html
ありがとう
preg_replace('/\/gift\.[^/]*/', '', $url);
/giftに一致します。次に、次のスラッシュまで何でも、それを空白に置き換えます。
試してみてください:
$input = 'phones/gift.nintendo-3ds/handset.blackberry-9790.html';
$output = preg_replace('(gift\.[^/]*\/)', '', $input);
それを分割し、保持したくない2番目の部分を削除してから、再度連結することができます。
$parts = explode('/', $url, 3);
unset($parts[1]);
$result = implode('/', $parts);
これは、あなたが考えているように正規表現を使用していませんが、おそらく他のいくつかの便利な関数について教えてくれます。
デモ:http ://codepad.org/a1pNW8J6
正規表現のバリアントは次のようになります。
echo preg_replace('~^([^/]+)(/[^/]+)~', '$1', $url);