Buchstaben aus einer Textdatei zählen

123123123

Erfahrenes Mitglied
Hallo!
Ich möchte aus einer Textdatei die eizelnen Groß - und Kleinbuchstaben zählen. Ich gebe das in einer Tabelle aus, die von klein a - z geht und dann von groß A - Z. Daher wollte ich wissen wie man das aus einer Textdatei auslesen könnte.
Die Textdatei habe ich schon ausgelesen (mit fopen, feof, usw.) und drunter soll die Tabelle stehen.

Danke schon mal für die Hilfe!! :)
 
Zuletzt bearbeitet:
Naja, wie man den Inhalt mit file() auf einmal ausliest, weisst du ja sicher.

PHP:
$text = <<<TXT
«Strom für morn» verlangt einen Umstieg auf 100 Prozent erneuerbare Stromversorgung bis zum Jahr 2035. Kanton, Elektrizitätswerke des Kantons Zürich (EKZ) und Gemeindewerke sollen keine neuen Beteiligungen an Grosskraftwerken mehr erwerben, die Strom aus nicht erneuerbaren Energien produzieren. Bestehende Beteiligungen sollen aufgelöst werden.

Was die Netzbetreiber der Gemeinden betrifft, sei die Volksinitiative ungültig, schreibt die Regierung in ihrer Stellungnahme vom heute Donnerstag. Sie verstosse gegen das Stromversorgungsgesetz des Bundes, das freien Netzzugang garantiert. Ausserdem verletze sie die Wirtschaftsfreiheit der Gemeindewerke.
TXT;


$zeichen = str_split($text);

$zeichen = preg_grep('/[[:alpha:]]/', $zeichen);

$zaehlung = array_count_values($zeichen);

var_dump($zaehlung);
 
Danke für die schnelle Antwort! Ich habe das mit count_char gelöst!
Kann man die Häufigkeit der Buchstaben auch in Prozenten angeben? Also zB das Buchstabe A in dem Text zu 15% vorhanden ist?
 
Oh man ich habe gerade gemerkt, dass die count_char funktion nicht alle Buchstaben zählt! Wenn ich alle Buchstaben zählen wollte, dann habe ich strlen eingefügt, aber der gibt eine viel kleinere Anzahl von Buchstaben aus, als der Text eigetlich hat. Was soll dann eigetlich hin?
 
Hier gebe ich die Textdatei aus:
PHP:
$datei = fopen("text.txt","r");
while(!feof($datei))			
   {
   $zeile = fgets($datei,1024); 
   echo $zeile;
   }
fclose($datei);

Hier war mein Verusch die Buchstaben zu zählen und halt deren Häufigkeit (wollte das in einer Tabelle ausgeben):
PHP:
echo "Anzahl der Buchstaben:" . strlen($zeile);

echo "<p>";
echo "<table class = 't' border= '1'>";
echo "<tr>";
echo "<th>Buchstaben</th>";
echo "<th>Häufigkeit</th>";	
echo "<th>Prozent</th>";
echo "</tr>";
 
 
foreach (count_chars($zeile, 1) as $i => $val) 
{
	echo "<tr class= 'tr'>";
	echo "<td>". chr($i). "</td>";
	echo "<td>". $val . "</td>";
	echo "</tr>";
}
 
Zuletzt bearbeitet:
Du arbeitest nur mit der letzten Zeile der Datei.
Wenn du die ganze Datei durchackern willst, nimm file()
 
Ok habe ich!
PHP:
$datei = file("text.txt");
foreach ($datei as $key => $val) 
{
    echo  htmlspecialchars($val);
}
So richtig?

Wie zähle ich jetzt die Buchstaben? Mit strlen gibt es mir trotzdem die falsche Anzahl!
 
Zurück