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

Beitrag lesen

Hallo Kurt,

danke für den Hinweis, gibt es außer Tabs noch andere zu berücksichtigende Steuerzeichen, wenn definitiv klar ist, dass kein Zeilenumbruch existiert?

aha, Zeilenumbrüche können also nicht vorkommen :-)

Oder willst Du damit ausdrücken, dass str_word_count die bessere Alternative ist?

Nein. Nur, dass str_word_count und explode durchaus unterschiedliche Ergebnisse liefern können. Du musst Deine Aufgabe exakt definieren. Was betrachtest Du wirklich als Wortgrenze?

Nächstes Beispiel (mit Kais Vorschlag):

  
<?php  
	header("Content-type: text/plain");  
	$text = "Eins  zwei  drei";  
	  
	$count = array();  
	$count['str_word_count'] = str_word_count($text, 0, "0123456989");  
	$count['explode']        = count(explode(' ', $text));	  
	$count['substr_count']   = substr_count($text, ' ');  
	  
	var_dump($text);  
	var_dump($count);  
?>

Ausgabe:

string(16) "Eins  zwei  drei"
array(3) {
  ["str_word_count"]=>
  int(3)
  ["explode"]=>
  int(5)
  ["substr_count"]=>
  int(4)
}

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

Freundliche Grüße

Vinzenz