我正在寻找一种在逗号位置剪切字符串的方法。
$string1 = 'Something, Other, Display, This';
$string2 = 'Something, Display, This';
$string3 = 'Something, Something, Something, Display, This';
这些字符串是动态的,它们永远不会相同,上面只是它们看起来如何的例子。
所以这是我的问题。如何仅显示字符串的“最后两部分”? 意思是,切掉剩下的部分,只显示最后2个部分,不管字符串有多么不同。
echo 'Display,This';
感谢您提出任何建议!
答案 0 :(得分:2)
$string1 = 'Something, Other, Display, This';
$string2 = 'Something, Display, This';
$string3 = 'Something, Something, Something, Display, This';
echo sprintf("%s\n", displayThis($string1));
echo sprintf("%s\n", displayThis($string2));
echo sprintf("%s\n", displayThis($string3));
function displayThis($s)
{
if(preg_match("/^.*, (.*, .*)$/", $s, $matches))
return $matches[1];
}
答案 1 :(得分:0)
您想使用explode method
爆炸采用字符串和分隔符,并将其转换为由该分隔符分解的数组。
以下是如何将其用于您想要的示例:
$arr = explode(",", $string); // Gives you an array broken up by commas
$second = array_pop($arr);
$first = array_pop($arr);
echo($first.",".$second);
答案 2 :(得分:0)
$string1 = 'Something, Other, Display, This';
$strArr=explode(',',$string1);
echo $strArr[count($strArr)-2]." ".$strArr[count($strArr)-1]; // Output: Display This
答案 3 :(得分:0)
这将在“,”上爆炸,抓住数组的最后2个元素(如果没有2,则为1),然后将它们拼接在一起......
implode(',', array_slice(explode(',', $string), -2));