2012-03-30 144 views
1

我正在寻找一种方法在逗号位置剪切我的字符串。PHP如何剪切字符串中的逗号文本

$string1 = 'Something, Other, Display, This'; 
$string2 = 'Something, Display, This'; 
$string3 = 'Something, Something, Something, Display, This'; 

这些字符串是动态的,他们将永远是相同的,以上只是他们如何可以像例子。

所以这里是我的问题。如何只显示字符串的“最后部分”? 含义,删除其余部分,只显示最后2个部分,不同的是字符串有多不同。

echo 'Display,This'; 

感谢您的任何建议!

回答

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]; 
} 
+0

感谢韦斯顿,几乎正是我一直在寻找的;) – Tom 2012-03-30 18:31:58

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); 
0
$string1 = 'Something, Other, Display, This'; 
$strArr=explode(',',$string1); 
echo $strArr[count($strArr)-2]." ".$strArr[count($strArr)-1]; // Output: Display This 
0

这会爆炸的“”抢数组的最后2个元素(或1如果没有2),并把它们拼接回来一起...

implode(',', array_slice(explode(',', $string), -2)); 
+0

这比更简洁Ø其实答案实际上。 – 2012-03-30 20:49:27