如何不用substr切断最后一个char?

时间:2016-10-07 12:14:49

标签: php substr

获得以下字符串:http://example.de/?param=1&param2=http://example2.com/ 我想把一切都放在param2 =后面。首先想到的是substr,但它永远不会让我全都落后于param2 =。无论我如何使用它,它总是返回http://example2.com(最后缺少的char)。为此,我为Documentation加了红色,但仍然没有成功。

我已经尝试过:

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

所以我从来没有得到最后一个字符,也许你知道我做错了什么。

1 个答案:

答案 0 :(得分:2)

您可以使用explode(): -

<?php

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

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

输出: - https://eval.in/657097

对于您在评论中的查询,请执行以下操作: -

https://eval.in/657101