durchgehende Großschreibung
Gerd
- php
Hallo! Kann mir jemand hier einen Tipp geben, wie ich verhindern kann, das man Formular-Einträge mit durchgehender Großschreibung macht.
hi,
Kann mir jemand hier einen Tipp geben, wie ich verhindern kann, das man Formular-Einträge mit durchgehender Großschreibung macht.
Eigentlich gar nicht.
Du könntest höchstens anschließend überprüfen, ob der komplette Text oder einzelne Worte nur aus Großbuchstaben bestehen. Wobei du da wiederum darauf achten müsstest, den ersten Buchstaben nicht mit zu betrachten, weil der ja öfter korrekterweise groß sein dürfte.
Und wenn du dann Postings ablehnst, in denen Abkürzungen verwendet werden, die komplett aus Großbuchstaben bestehen, bist du immer noch kein Stück weiter ...
gruß,
wahsaga
Ja, so weit bin ich auch schon gekommen. Es muß doch einen Weg geben, permanente Großschreiber in die Schranken zu weisen. Einzelne Wörter ist ja ok, aber nicht den kompletten Text.
Grüße! Gerd
Hallihallo!
Eine Idee, die mir grade einfällt, wäre:
Zähle doch einfach im gesamten Posting die großen und die kleinen Buchstaben.
Wenn die Anzahl der Großbuchstaben größer ist als ein bestimmter Prozentsatz des Gesamtpostings, stimmt höchstwahrscheinlich etwas nicht.
Viele liebe Grüße,
Der Dicki
Den Vorschlag von Dicki finde ich auch am Besten. Wie lese ich am besten die Großbuchstaben im Text aus?
Hallihallo!
Den Vorschlag von Dicki finde ich auch am Besten. Wie lese ich am besten die Großbuchstaben im Text aus?
Dazu fällt mir als "PHP- Frischling" spontan eine Möglichkeit ein:
Zum Testen habe ich mir dieses kleine Skript gebastelt:
<?php
$erster = "Ich bin ein String!";
$zweiter = "ICH BIN EIN STRING!";
$regex = "~[A-Z]~";
$eins = preg_match_all($regex, $erster, $test);
$zwei = preg_match_all($regex, $zweiter, $test);
$laenge = strlen($erster);
echo "String 1 enthält ".$eins." Grossbuchstaben<br>";
echo "String 2 enthält ".$zwei." Grossbuchstaben<br>";
echo "String 1 ist ".$laenge." Zeichen lang.";
?>
Das macht so ziemlich genau das, was ich meinte.
Allerdings gehe ich mal davon aus, daß der eine oder andere Könner dieses Vorgehen als "mit Kanonen auf Spatzen schießen" bezeichnen wird...
Viele liebe Grüße,
Der Dicki
Hi Gerd,
Ja, so weit bin ich auch schon gekommen. Es muß doch einen Weg geben, permanente Großschreiber in die Schranken zu weisen. Einzelne Wörter ist ja ok, aber nicht den kompletten Text.
Wenn du wirklich prüfen willst, ob der _komplette_ Text in Großbuchstaben geschrieben ist, dann sollte das hier klappen:
$string = "DER TEXT IST IN GROßBUCHSTABEN";
if($string == [link:http://php.net/strtoupper@title=strtoupper]($string)) {
// alles in Großbuchstaben
}
Der Vorschlag von Dicki ist aber deutlich besser ;-)
MfG, Dennis.
hi,
Ja, so weit bin ich auch schon gekommen. Es muß doch einen Weg geben, permanente Großschreiber in die Schranken zu weisen. Einzelne Wörter ist ja ok, aber nicht den kompletten Text.
Eine primitive Überprüfung könnte darin bestehen, den mit strtoupper() behandelten Text mit dem Original zu vergleichen - sind beide identisch, dann waren im Text alle Buchstaben ausschließlich Großbuchstaben.
Aber sobald nur ein einzige Kleinbuchstabe verwendet wurde, schlägt diese - wie gesagt, primitive - Überprüfung schon nicht mehr an.
gruß,
wahsaga
Hallo wahsaga.
Eine primitive Überprüfung könnte darin bestehen, den mit strtoupper() behandelten Text mit dem Original zu vergleichen - sind beide identisch, dann waren im Text alle Buchstaben ausschließlich Großbuchstaben.
Aber sobald nur ein einzige Kleinbuchstabe verwendet wurde, schlägt diese - wie gesagt, primitive - Überprüfung schon nicht mehr an.
Darum könnte man hier vielleicht mit levenshtein() arbeiten.
Einen schönen Samstag noch.
Gruß, Ashura
hi,
Darum könnte man hier vielleicht mit levenshtein() arbeiten.
Wenn man nur Nachrichten mit einer Länge kleiner gleich 255 Zeichen hat ...
gruß,
wahsaga
Hallo wahsaga.
Darum könnte man hier vielleicht mit levenshtein() arbeiten.
Wenn man nur Nachrichten mit einer Länge kleiner gleich 255 Zeichen hat ...
Diese Beschränkung habe ich in der Tat überlesen. Aber eine Alternative wird ja im Handbuch verlinkt.
Einen schönen Samstag noch.
Gruß, Ashura