2009-07-11 11 views
0

Wenn ich habe eine Zeichenfolge wie folgt:Wie der Rest einer Zeichenfolge entfernen

Hallo - Bye

Wie kann ich php finden und löschen Sie einen specifc Charakter und den Rest des Fabrikats Zeichenfolge auf den Stationen

wie ein Beispiel

Hallo - Bye

den Charakter finden -

und mit der Zeichenfolge

Hallo

Antwort

6

Verwenden strpos die Position des ersten Auftretens eines Teils und dann substr nur zu finden, bleiben zu erhalten alles bis zu dieser Position:

$pos = strpos($str, '-'); 
if ($pos !== false) { // strpos returns false if there is no needle in the haystack 
    $str = substr($str, 0, $pos); 
} 

Und wenn Sie PHP 5.3 und später haben, könnten Sie auch die strstr function mit dem dritten Parametersatz auf true verwenden.

+0

wenn die Zeichenfolge in ihm mehr als einem Bindestrich haben, können Sie auch strrpos verwenden, das letzte passende Auftreten des angegebenen Zeichens zu bekommen, je nach Ihren Anforderungen – bumperbox

+0

Verdammt, ich wünschte, Ich könnte Sie für das zusätzliche bisschen von Info über 5.3 wieder aufheben, sehr interessant :) – xenon

2
$pieces = explode('-', 'Hello - Bye', 2); 
print $pieces[0]; 
1
$str = preg_replace('!-.*$!', '', 'Hello - Byte'); 
0
$somestring="Hello - Bye"; 
$array=preg_split("/\s+-\s+/",$somestring,2); 
print $array[0]."\n"; 
Verwandte Themen