2009-07-11 14 views
0

Si j'ai une chaîne comme ceci:Comment enlever le reste d'une chaîne

Bonjour - Au revoir

Comment puis-je faire php trouver et supprimer un caractère specifc et le reste du chaîne dans les salles

comme un exemple

Bonjour - au revoir

trouver le caractère -

et rester avec la chaîne

Bonjour

Répondre

6

Utilisez strpos pour trouver la position de la première apparition d'une sous-chaîne, puis substr juste obtenir tout jusqu'à cette position:

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

Et si vous avez PHP 5.3 et versions ultérieures, vous pouvez également utiliser le strstr function avec le troisième paramètre défini sur true.

+0

si votre chaîne a plus d'un trait d'union, vous pouvez également utiliser strrpos, pour obtenir la dernière occurrence correspondant du caractère spécifié, en fonction de vos besoins – bumperbox

+0

Bon sang, souhaite que je Vous pourriez encore vous upvote pour le peu d'infos sur 5.3, très intéressant :) – 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"; 
Questions connexes