次の文字列を入力してください:http://example.de/?param=1¶m2=http://example2.com/ 私はすべてをparam2 =の後ろに置いておきたいと思います。最初の考えはsubstrでしたが、param2 =の背後にある私には決して与えられません。どのように使用しても、常にhttp://example2.com(最後の文字がありません)が返されます。私はこのためにDocumentationを赤くしますが、これでは成功しません。substrで最後の文字を切り捨てる方法はありますか?
私はすでに試した:
$url = 'http://example.de/?param=1¶m2=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¶m2=http://example2.com/';
echo explode('¶m2=',$string)[1];
出力: - - :
成果を期待するものでしょうか? –
http://example2.com/、 '/'は常に切り捨てられます。 /なしで試してみると、代わりにmが欠落しています。 – nova
マニュアルのDupと参照['parse_url()'](http://php.net/manual/en/function.parse-url.php) – RiggsFolly