Kurt: Anzahl "Wörter" in einem String zählen

Beitrag lesen

zeigt, dass Du ganz bestimmt aufeinanderfolgende Worttrennzeichen auf ein einziges reduzieren wolltest :-)

»»

Hi Vinzenz,

ok, gehen wir das Ganze mit str_word_count an. Mein Ziel ist es, durch Leerzeichen getrennte Begriffe als Einzelbegriffe zu parsen. Hierbei sollen mit (ohne leerzeichen) vorangestelltem Minuszeichen versehene Begriffe später anders behandelt werden. (Suchmaschine)

Da Du mir schon ein paar zu bedenkende Dinge mitgegeben hast, frag ich mal.
Hab ich in folgendem Code etwas übersehen oder gehts effizienter?

  
$text = "C&A        gut + böse          gut+böse        A - B        A-B        -ausschluß";  
  
$text= preg_replace("/[^a-zA-Z0-9 ÜüÖöÄäß+&-]/","",$text);  
  
$texte = str_word_count($text, 0, '1234567890');  
if ($texte > 1) {  
$texte = str_word_count($text, 1, '1234567890');  
}  
  
  
  
foreach($texte as $einzeltext) {  
if (($einzeltext{0} == "-") && (isset($einzeltext{1}))) {  
  echo ("----------> $einzeltext <br>");  
} elseif ($einzeltext == "-") {  
// schmeiß raus  
} else {  
  echo ("$einzeltext <br>");  
}  
}  
  

Freundlichen  Gruß, Kurt