php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.07.2005, 16:25  
Gast
 
Beiträge: n/a
Standard effektiver Filter für Namens-Eingaben?

Hallo

kennt jemand einen guten Filter, der nur Buchstaben zulässt? Das ganze aber International, so das auch Zeichen wie ŹĆģāæśÅšęąč durchkommen. Aber keine schwachsinnigen Dinge wie %, &, §, () / { } = usw...

mit regex scheint das wohl nicht so einfach zu gehen, da es für "buchstaben" an sich keine Klasse gibt. Man müsste dann ja von hand alle möglichen ausländischen Sonder-Buchstaben wie ŹĆģāæśÅšęąč (und hundert weitere) als legal definieren, oder anders rum muss man alle nicht erwünschten zeichen explizit aufführen, was auch unmöglich ist.
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 17.07.2005, 16:43  
Gast
 
Beiträge: n/a
Standard

Ich hab hier was:

PHP-Code:
<?PHP
$value 
="Der zu kontrollierde Text bin ich";

$ok true// Varible die speichert, ob nur erlaubte Zeichen benutz wurden
$zeichen"aAbBcCdEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZäÄöÖüÜ"//erlaubte zeichen
for($k=0$k strlen($value); $k++)
{
  if(!
strchr($zeichensubstr($value$k1))) $ok false
}
So in der for schleife wird nun jedes einzelne Zeichen von $value kontrolliert, ob es in $zeichen vorhanden ist. wenn nicht ist $ok false
 
Alt 17.07.2005, 17:06  
Gast
 
Beiträge: n/a
Standard

Zitat:
Man müsste dann ja von hand alle möglichen ausländischen Sonder-Buchstaben wie ŹĆģāæśÅšęąč (und hundert weitere) als legal definieren
 
Alt 18.07.2005, 03:32  
Gast
 
Beiträge: n/a
Standard

genau so eine Lösung hatte ich auch im Kopf, aber wie VolkerK schon zitiert hat... genau das ist ja das Problem. Es gibt so extrem viele "Sonderzeichen" die in anderen Ländern ganz normale Buchstaben darstellen. Wie unser Ö, Ä, Ü, ü, ö, ä ... für uns ganz normal. Oder das ß. Da kratzt sich doch jeder Ammi am Kopp. Genau wie wir uns an die Birne packen wenn wir ein O mit nem Strich durch sehen, oder ein Q wo der Schwanz irgendwie oben hängt und nicht unten. Und all so Zeugs.
 
Alt 18.07.2005, 10:25  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

es gibt aber extrem wenig sonderzeichen im vergleich....

PHP-Code:
<?php
$value 
="Der zu kontrollierde Text bin ich"

$ok = (bool) true// Varible die speichert, ob nur erlaubte Zeichen benutz wurden 
$zeichen"^°!\"§$%&/()={[]}\´`#+*'"//unerlaubte zeichen und noch ein paar..fülls auf! 
for($k=0$k strlen($value); $k++) 

  if(
strchr($zeichensubstr($value$k1))) $ok = (bool) false;  

?>
brian johnson ist offline  
Alt 19.07.2005, 14:48  
Gast
 
Beiträge: n/a
Standard

siehe windows -> start -> zubehör -> zeichentabelle (da irgendwo)

alles voll mit sonderzeichen, hunderte oder tausende
 
Alt 19.07.2005, 16:59  
Erfahrener Benutzer
 
Registriert seit: 15.07.2005
Beiträge: 230
zapate
Standard

PHP-Code:
<?php
$text
="!\"#$%&'()*+,-./%&(!!ÆÇÈÉÊËapfelBaum?\ßßߨÝÞßýþ‰";

$text=preg_replace("/([^a-zA-Z".chr(192)."-".chr(255)."])/"""$text);
echo 
$text;
?>
regexp können alles, vergesst das nie!
zapate ist offline  
Alt 19.07.2005, 17:42  
Gast
 
Beiträge: n/a
Standard

sind das alles buchstaben, diese chr(192) bis 255? hab hier gerade keine ASCII Tabelle parat.
 
Alt 19.07.2005, 18:11  
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Fast alle sind nur normale Buchstaben, aber es gibt doch zwei Sonderzeichen: ÷ und × (kein x). Aber die kann man noch extra ausschließen.
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline  
Alt 19.07.2005, 18:55  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Hm.. Könnte man nicht
PHP-Code:
<?php
$text 
"!\"#$%&'()*+,-./%&(!!ÆÇÈÉÊËapfelBaum?\ßßߨÝÞßýþ‰"

$rest preg_replace("#([^a-zA-Z0-9"])#isU", "", $text);
if(empty($rest) == FALSE) {
        
// Was passiert, wenn Sonderzeichen im Text sind
}
?>
Ist zwar evtl. etwas umständlich, würde aber doch die ganze chr()-Sache umgehen..
Chr!s ist offline  
 


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
Hover mit Filter pc-freak HTML, Usability und Barrierefreiheit 7 28.09.2006 16:09
filter erstellen PHP Tipps 2007 11 07.11.2005 17:40
[Erledigt] Eingaben ohne Timeout piepsen PHP Tipps 2005-2 8 13.07.2005 19:20
Eingaben auf mehreren Seiten PHP Tipps 2005 4 26.01.2005 23:18
Zurück Funktion überschreibt die geänderten Eingaben nicht PHP Tipps 2004-2 1 02.12.2004 13:19
Spam filter PHP-Fortgeschrittene 7 06.09.2004 16:50

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php ausländische sonderzeichen preg_replace

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:15 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.