2016-10-07 3 views
0

次の文字列を入力してください:http://example.de/?param=1&param2=http://example2.com/ 私はすべてをparam2 =の後ろに置いておきたいと思います。最初の考えはsubstrでしたが、param2 =の背後にある私には決して与えられません。どのように使用しても、常にhttp://example2.com(最後の文字がありません)が返されます。私はこのためにDocumentationを赤くしますが、これでは成功しません。substrで最後の文字を切り捨てる方法はありますか?

私はすでに試した:

$url = 'http://example.de/?param=1&param2=http://example2.com/'; 

$piece = substr($url, strpos($url, 'param2=') + 7 ,count($url)); //+7 cause of param2= should not be included 
=> h 

$piece = substr($url, strpos($url, 'param2=') + 7 , -count($url)); 
=> http://example2.com 

$piece = substr($url, strpos($url, 'param2=') + 7 , +count($url)); 
=> h 

$piece = substr($url, strpos($url, 'param2=') + 7 , -(count($url)+1)); 
=> http://example2.co 

$piece = substr($url, strpos($url, 'param2=') + 7 , -(count($url)-1)); 
=>  (empty) 

$piece = substr($url, strpos($url, 'param2=') + 7 , -1); 
=> http://example2.com 

$piece = substr($url, strpos($url, 'param2=') + 7 , -0); 
=>  (empty) 

だから私は最後の文字を取得することはありません、多分あなたは私が間違っているのか知っています。

<?php 

$string = 'http://example.de/?param=1&param2=http://example2.com/'; 

echo explode('&param2=',$string)[1]; 

出力: - - :

+0

成果を期待するものでしょうか? –

+1

http://example2.com/、 '/'は常に切り捨てられます。 /なしで試してみると、代わりにmが欠落しています。 – nova

+1

マニュアルのDupと参照['parse_url()'](http://php.net/manual/en/function.parse-url.php) – RiggsFolly

答えて

2

あなたがexplode()使用することができますコメントでクエリのためにhttps://eval.in/657097

を、以下のように実行します -

https://eval.in/657101

+0

この問題は、 _param2_ –

+0

の後に複数のパラメータがあります。_&_を2回爆発させてインデックスを呼び出してください。_0_ –

+0

@AllenButlerは私の答えで2番目の例のリンクを確認します。あなたを助けてうれしい。歓声:) :) –

関連する問題