2012-03-30 81 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