如何选择字符串的一部分(After=特殊字符)


How to Pick a Part of String (After = Special Character)

我有一个类似的字符串

man=teabaran=marcomword=1&rolw=sunglassess

 tina=gdjf==5=?hdhfg=oliver-people

并且我只需要获取最后一个CCD_ 1之后的字符串。则$result将是sunglassessoliver-people

你能告诉我我可以用PHP中的什么函数来做这件事吗?

这可以在不爆炸的情况下完成,只需一行代码,如下所示:

$string = "man=teabaran=marcomword=1&rolw=sunglassess";
$last = substr($string, strrpos($string, '=') + 1);
echo $last;

使用end函数将数组指针推进到最后一个元素

$str = 'man=teabaran=marcomword=1&rolw=sunglassess';
$array = explode('=',$str);
$last = end($array);
print $last;
/* will output
sunglasses
*/

第二个字符串也是如此,一次完成

$str = 'tina=gdjf==5=?hdhfg=oliver-people';
$last = end(explode('=',$str));
print $last;
/* will output
oliver-people
*/

如果它总是在最后一个等式符号(=)之后,那么您可以简单地将其分解并取下最后一部分:

$str = 'man=teabaran=marcomword=1&rolw=sunglassess';
$arr = explode('=', $str);
$result = $arr[count($arr)-1];
echo "Last element: " . $result; // sunglasses

正则表达式也很适合你(尽管它看起来有点过头了,不确定你首先拥有什么样的字符串/URL):

$str = 'man=teabaran=marcomword=1&rolw=sunglassess';
$regex = '/rolw=([^&=]*)/i';
// that this, take every character except &= unlimited times and capture them
preg_match_all($regex, $str, $matches);
print_r($matches);