2011-03-31 27 views
0

を使用して文字列を削除し、私は常に付属のカラー変数があります、以下のURLを持っている:私は、PHPを使用して、最後にすべてを削除する方法をPHPは、「パターン」

http://www.example.com/?new=yes&color=red&shape=square 

を。 &カラーから始まるので、私は次のように残されています:

http://www.example.com/?new=yes 
+0

パラメータの順序が異なる場合はどうなりますか? – Gumbo

+0

彼らはしません。リンクはごくわずかですが、これは自分のためのものです。 –

答えて

3

あなたの質問へのリテラルの答えがされています。しかし、これが唯一の特定の場合に適しています

$url = substr($url, 0, strpos($url, '&color=')); 

- それは、おそらくもう少し頑強なことをするのは良い考えです。たとえば、URLを分割し、キー/値のペアを配列に取得し、不要なものを削除したり、必要なもの以外のすべてを削除したりしてURLを再作成します。

+0

お返事ありがとうございます、完璧な仕事! –

+0

針が入っていないとどうなりますか? – Gumbo

+0

@ガンボ:悪いことが起こる。しかし、OPのコメントから、これは捨てやすいコードであるという印象を集めました。それが本当であれば、単一のLOCに対して論じるのは難しいです。 – Jon

2

parse_url & parse_strの組み合わせをお勧めします。 http_build_url & http_build_strを使用することもできますが、これらにはが必要です。

+0

そして、Bradさんの返答をお寄せいただきありがとうございます。 –

+0

このアプローチは私が「最も正しい」(私の答えである恥知らずなハックより優れている)ものですが、実用上の大きな欠陥があります:http_build_url 'と友人はデフォルトで組み込まれていません。 – Jon

+0

@ジョン:確かに。 PECL libの一部ですが、最も「弾力のない」ソリューションとして意図されています。 –

2
$url = "http://www.example.com/?new=yes&color=red&shape=square"; 

$url_parts = explode("&", $url); 

$thePartYouWant = $url_parts[0]; 
+0

返信ありがとうございましたデイブ –