2012-03-30 2 views
1

schneidet Ich suche nach einer Möglichkeit, meine Zeichenfolgen am Komma-Ort zu schneiden.PHP, wie man Text am Komma in der Zeichenkette

Diese Strings sind dynamisch, sie werden niemals gleich sein, oben sind nur Beispiele dafür, wie sie aussehen können.

so hier ist mein Problem. Wie zeige ich NUR die "zwei letzten Teile" der Saiten an? Bedeutung, um den Rest wegzuschneiden und nur die letzten 2 Teile anzuzeigen, nomather, wie unterschiedlich die Zeichenfolgen sind.

echo 'Display,This'; 

Vielen Dank für Anregungen zu diesem Thema!

Antwort

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

Dank Weston, fast genau das, was ich suchte;) – Tom

0

Sie wollen, dass die verwenden explode method

Explode einen String und ein Trennzeichen nimmt, und wandelt sie in ein Array von diesem Begrenzer aufgebrochen.

Hier ist ein Beispiel dafür, wie es zu benutzen, für das, was Sie wollen:

$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

Dieses auf die explodieren „“ die letzten zwei Elemente des Arrays greifen (oder 1 wenn es nicht 2), und sie es Stich wieder zusammen ...

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

das ist viel knapper als die o Die Antworten sind tatsächlich. –

Verwandte Themen