2017-09-20 1 views
0

Ich frage mich, wie ich das letzte Wort aus einer Zeichenfolge nach einem bestimmten Zeichen entfernen kann.So entfernen Sie das letzte Wort aus einer Zeichenfolge nach einem bestimmten Zeichen

Dies sind einige Saiten

lv_datatable_5_english 
lv_datatable_5_arabic 

How can i remove "english" and "arabic" from these string to get this 

lv_datatable_5_ 

Dies ist, was ich bisher

echo implode(" ", array_slice(str_word_count($id, 1), 0, -1)); 
echo substr($string, 0, strpos($string, "_")); 

versucht haben, aber diese entfernt die ganze Wörter beginnt _

und ich habe diese Ausgabe

"LV Datentabelle"

+0

werden immer die Zeichenfolge, die die gleiche Menge an '_'? –

+0

Ja, nur das letzte Wort würde geändert werden. @ LawrenceCherone –

Antwort

1

Es gibt einige Möglichkeiten, dies zu erreichen. Eine Möglichkeit ist, preg_replace zu verwenden, um alle Zeichen zu entfernen aus einem Satz vom Ende eines Strings:

echo preg_replace('/[^_]+$/', '', 'lv_datatable_5_english'); 

// lv_datatable_5_ 

Der reguläre Ausdruck paßt auf alle Zeichen außer _ und Anker bis zum Ende des Strings mit $

wenn Sie es klarer finden, können Sie explizit einen Teil des Themas zurückkehren bis einschließlich den letzten _ Charakter:

$string = 'lv_datatable_5_english'; 
echo substr($string, 0, strrpos($string, '_') + 1); 
Verwandte Themen