php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.07.2011, 12:33  
Erfahrener Benutzer
 
Registriert seit: 09.07.2008
Beiträge: 577
PHP-Kenntnisse:
Anfänger
SteiniKeule kann nur auf Besserung hoffen
SteiniKeule eine Nachricht über ICQ schicken SteiniKeule eine Nachricht über Skype™ schicken
Standard str_word_count() - Ausgabe zu hoch

Hallo

Ich möchte die Anzahl der Wörter in einem String zählen.
Dazu verwende ich
PHP-Code:
$size str_word_count($text); 
Der Text ist
Code:
Die Bande HTML hat PHP angegriffen und versuchte sämtliche Befehle zu zerstören Dieser Angriff wird nicht ohne Folgen bleiben
Ausgegeben wird mir aber, dass es 21 Wörter sind. Ich denke, dass ich irgendwo gelesen habe, dass Satzzeichen mitgezählt werden. Darum habe ich mal alle raus gelöscht. Es wird mir dennoch 21 angezeigt. Kann mir vllt jemand weiter helfen?
__________________
Der Unterschied zwischen dem richtigen Wort und dem beinahe richtigen ist derselbe Unterschied wie zwischen dem Blitz und einem Glühwürmchen.
SteiniKeule ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.07.2011, 12:38  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.871
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Code:
end asking;
start debugging;
Schau dir doch mal das Array an das die gezählten Wörter enthält:
PHP-Code:
$words str_word_count($text1);

var_dump($words); 
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Alt 19.07.2011, 12:39  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Zitat:
Zitat von php.net
Beachten Sie bei der Verwendung dieser Funktion, dass "Wörter" als locale-abhängige Strings interpretiert werden, die nur die Buchstaben des Alphabets enthalten. Sie dürfen außerdem "'"- und "-"-Zeichen enthalten, jedoch nicht damit beginnen.
Das entscheidende Wort hier ist locale-abhängig. Du benutzt Umlaute und hast vermutlich nicht die entsprechenden Einstellungen vorgenommen. Schau dir dazu mal setlocale an. Außerdem: Was für ein Encoding hat $text? Bei UTF-8 könnte es zusätzlich Probleme geben, vielleicht helfen dir die User-Kommentare bei str_word_count diesbezüglich weiter.
fab ist offline   Mit Zitat antworten
Alt 19.07.2011, 12:41  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Dadurch, daß str_word_count Probleme mit Umlauten zu haben schein, zerschießt er Dir "sämtliche" und "zerstörte". Dadurch erhöht sich die Wortanzahl.

Probe:
PHP-Code:
var_dump(str_word_count($text1)); 

EDIT
...ok, scheint man über die locals lösen zu können, das hatte ich jetzt nicht gelesen...
Allerdings hättest Du mit dem zweiten Parameter gesehen, wo die Problematik zu erfassen ist.
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews ist offline   Mit Zitat antworten
Alt 19.07.2011, 14:12  
Erfahrener Benutzer
 
Registriert seit: 09.07.2008
Beiträge: 577
PHP-Kenntnisse:
Anfänger
SteiniKeule kann nur auf Besserung hoffen
SteiniKeule eine Nachricht über ICQ schicken SteiniKeule eine Nachricht über Skype™ schicken
Standard

Danke.

Damit habt ihr recht. Ich habe jetzt google befragt und mir die Beiträge auf php.net durchgelesen. Aber ich finde keine Lösung.

Kann mir jemand sagen, was ich mit setlocale machen muss?

Danke
__________________
Der Unterschied zwischen dem richtigen Wort und dem beinahe richtigen ist derselbe Unterschied wie zwischen dem Blitz und einem Glühwürmchen.
SteiniKeule ist offline   Mit Zitat antworten
Alt 19.07.2011, 15:13  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Was hast Du denn in der Ausführung zu setlocale() auf PHP.net nicht verstanden
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews ist offline   Mit Zitat antworten
Alt 19.07.2011, 15:28  
Erfahrener Benutzer
 
Registriert seit: 09.07.2008
Beiträge: 577
PHP-Kenntnisse:
Anfänger
SteiniKeule kann nur auf Besserung hoffen
SteiniKeule eine Nachricht über ICQ schicken SteiniKeule eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von Arne Drews Beitrag anzeigen
Was hast Du denn in der Ausführung zu setlocale() auf PHP.net nicht verstanden
Wie es mir weiterhelfen sollte
__________________
Der Unterschied zwischen dem richtigen Wort und dem beinahe richtigen ist derselbe Unterschied wie zwischen dem Blitz und einem Glühwürmchen.
SteiniKeule ist offline   Mit Zitat antworten
Alt 19.07.2011, 15:30  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Na wie hat fab Dir doch schon zitiert!
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews ist offline   Mit Zitat antworten
Alt 19.07.2011, 15:32  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Die locale beeinflusst, wie bestimmte vordefinierte Formatierungen zu erfolgen haben. Z.B. das Datumsformat: In Deutschland "TT.MM.JJJJ", im englischsprachigen Raum meist "MM/DD/YYYY". Währungsformate, in Deutschland ist der Punkt Tausendertrennzeichen und Komma Dezimaltrennzeichen, USA z.B. genau umgekehrt.

Bin noch am zweifeln, ob die locale Einstellungen Einfluss auf den verwendeten Zeichensatz haben sollen...
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 19.07.2011, 15:36  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Könnte mir vorstellen, daß LC_COLLATE was damit zu tun hat.
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Einsteigerfrage - Fehler bei der Ausgabe rallemann PHP Einsteiger 11 31.05.2011 17:07
[Erledigt] Ausgabe von SQL in Tabelle mit While oder Ohne? TaubSystem PHP Einsteiger 8 03.02.2011 17:15
Klanderwochenabhängige Ausgabe aus MySQL-DB Fjorgar PHP Tipps 2010 1 19.05.2010 03:46
[Erledigt] fpdf multicell - ausgabe in while schleife fulltilt PHP Tipps 2010 1 19.02.2010 09:58
Ausgabe verschiebt sich - Warum? Rutor HTML, Usability und Barrierefreiheit 9 10.02.2010 21:51
[Erledigt] Ausgabe zweier Arrays mit identischen Schlüsseln litterauspirna PHP Tipps 2009 6 13.12.2009 20:35
FPDF keine Ausgabe von Query fulltilt PHP Tipps 2009 38 22.03.2009 21:38
Problem mit Ausgabe von Datensetzten Dalari PHP Tipps 2009 1 02.03.2009 17:09
[Erledigt] formatierte Ausgabe tomateundgurke PHP Tipps 2009 11 17.01.2009 10:55
Problem mit Ausgabe bzw. Abfrage mit ORDER BY mayer Datenbanken 7 02.07.2006 21:45
Ausgabe der Auswahlliste PHP Tipps 2005-2 6 21.09.2005 13:43
3 Tabellen verbunden -- Ausgabe in einer Spalte Datenbanken 4 06.09.2005 10:43
[Erledigt] Geteilte Ausgabe an den Browser... PHP-Fortgeschrittene 4 01.07.2005 13:07
Ausgabe nur dann, wenn htmlspecialchars() verwendet PHP Tipps 2004 1 27.10.2004 21:17
Sortierung der Ausgabe PHP-Fortgeschrittene 3 08.10.2004 09:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
str_word_count, mysql ausgabe str_word_count, str_word_count punkt

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:53 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum