Ergebnis 1 bis 6 von 6

Thema: String (UTF-8) auf einzelne Zeichen prüfen

  1. #1
    matman
    Gast

    Standard String (UTF-8) auf einzelne Zeichen prüfen

    Hallo,

    ich schreibe gerade ein PHP-Skript das ein HTML-Formular auswertet. Um Fehler zu vermeiden müssen einige Strings auf deren Inhalt geprüft werden. Beispielsweise darf einer der Strings nur kleine Buchstaben enthalten, ein anderer keine Sonderzeichen etc.

    Folgende Funktion habe ich da z.B.:
    Code:
    function string_check_if_small_letters($string) {
    
            $result=FALSE;
    
            for($cnt=0;; $cnt++) {
                    $sign=$string{$cnt}; $utfCode=ord($sign);
    
                    if($sign==FALSE) {
    
                            if($cnt>0) $result=TRUE;
    
                            break; }
    
                    if&#40;$utfCode<97 || $utfCode>122&#41; break; &#125;
    
            if&#40;$result==TRUE&#41; return $cnt;
    
            else return 0; &#125;
    Funktioniert auch alles. Allerdings frage ich mich, ob die von mir verwendete Funktion ord(); hier angebracht ist?

    ord(); ist ja ursprünglich und auch laut PHP-Handbuch für ASCII-Zeichen gedacht. Solange die Funktion mit normalen Zeichen (32-127) zu tun hat sind die Codierungen von ASCII und UTF-8 ja identisch. Doch wie sieht es mit speziellen Zeichen, wie z.B. dem Eurozeichen aus? Könnte es da Probleme geben? Gibt es eventuell sogar eine ord()-Alternative für UTF-8?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    also für kleine buchstaben nimm einfach:
    Code:
    $text = strtolower&#40;$text&#41;;
    Und was sind für dich alles Sonderzeichen? €? -? _? +?
    vll hift dir die Funktion:
    Code:
    $text = htmlentities&#40;$text&#41;;
    Something big is coming. And there will be pirates and ninjas and unicorns...

  3. #3
    Forum Guru
    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    htmlentities() produziert selber Sonderzeichen (&; )

    zum überprüfen ob ein String nur aus buchstaben und zahlen besteht kannst du ein Regex schreiben.
    http://ch2.php.net/preg_match
    Facebook Gruppe: Böses Encoding

  4. #4
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    Zitat Zitat von ::RMB::
    htmlentities() produziert selber Sonderzeichen (&
    Ja deswegen fragte ich ja was für ihn alles Sonderzeichen sind.
    Hab schon viele "eigenartige" Definitionen von Sonderzeichen gehört^^
    Something big is coming. And there will be pirates and ninjas and unicorns...

  5. #5
    Forum Guru
    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Normalerweise sind keine Sonderzeichen Strings im format ([a-zA-Z0-9 _-]{0,}) evt. noch umlaute
    Facebook Gruppe: Böses Encoding

  6. #6
    matman
    Gast

    Standard

    Danke für die Anregungen.

    Bin nun allerdings zu dem Schluss gekommen, dass die PHP Funktion ord() ja nunmal den ASCII-Code liefert, egal ob der eingegebene String nun ASCII oder UTF-8 war. Und solange ich dann in der Vergleichsfunktion mit ASCII-Werten vergleiche kann nichts schief gehen.

Ähnliche Themen

  1. String nach bestimmter Anzahl an Zeichen brechen
    Von Knüps im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 25.05.2007, 13:19
  2. Zeichen inm String umwandeln wenn nicht vor min2 Großbuchst.
    Von Frank Poschinek im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 02.04.2007, 20:01
  3. Zeichen aus String lesen?
    Von Mir nicht im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 20.07.2006, 09:37
  4. ein zeichen im string ändern
    Von µaTh im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 22.10.2005, 18:29
  5. String nach internetseite prüfen!
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 05.11.2004, 07:34

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •