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

时间:2015-11-25 21:15:47

标签: php

我有一个像这样的字符串

man=teabaran=marcomword=1&rolw=sunglassess

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

我需要在最后=之后只抓取字符串。然后,$result将为sunglassessoliver-people

请告诉我PHP中可以使用哪些函数来执行此操作?

3 个答案:

答案 0 :(得分:2)

这可以在没有爆炸的情况下完成,并在一行代码中完成,如下所示:

$string = "man=teabaran=marcomword=1&rolw=sunglassess";

$last = substr($string, strrpos($string, '=') + 1);

echo $last;

答案 1 :(得分:1)

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

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

正则表达式也适合你(尽管看起来有点像矫枉过正,不确定你最初有什么样的字符串/网址):

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

答案 2 :(得分:1)

使用if (item.requestedDate.Day <= 12) Response.Write("=\"" + item.requestedDate.ToString("MM/dd/yyyy hh:mm:ss tt") + "\""); 函数将数组指针前进到最后一个元素

end
第二个字符串同样的东西,一气呵成

$str = 'man=teabaran=marcomword=1&rolw=sunglassess';

$array = explode('=',$str);

$last = end($array);

print $last;
/* will output
sunglasses
*/