kostenloser Webspace werbefrei: lima-city


[PHP]String auf die Anzahl der Zeichen untersuchen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s***h

    Hi,
    ich bin dabei ein kleinen Nachrichtensystem zu schreiben.
    Habe aber etwas festgestellt: Wenn man als Betreff ein Leerzeichen oder zwei Leerzeichen eingibt, dann kann man die Nachricht nicht öffnen, weil der Betreff auch gleichzeitig der Link zur Nachricht ist.

    So wie kann ich jetzt verhindern, dass der Betreff kein Zeichen enthält?

    Folgendes reicht NICHT aus:
    if($msg_to == "" || $msg_sub == "" || $msg_main == "") $error .= "Es müssen alle Felder ausgefüllt werden!";

    Und folgendes auch nicht:

    if($msg_sub == " ") $error .= "Es müssen alle Felder ausgefüllt werden!";

    Hier wird nur auf ein Leerzeichen geprüft, aber nicht auf zwei Leerzeichen!

    Jetzt wollte ich mit einer PHP-Funktion überprüfen, aus wie vielen Zeichen der Titel besteht und wenn es weniger als zwei Zeichen sind, wollte ich irgendwas noch an den Titel dranhängen.

    Wie kann ich überprüfen, wie viele Zeichen in einem String sind?
    Mit dem hier geht es ja nicht:
    http://de2.php.net/manual/de/function.strlen.php
    Weil hier kann man ja vier Leerzeichen in den Titel schreiben und dann gibt die Funktion "4" aus..


    Danke
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hy,

    versuchs mal, indem du die Zeichenkette erst trimmst und dann auf die Länge prüfst ;-) also etwa so:
    <?
    
      $msg_to = trim($_POST['msg_to']);
      if (strlen($msg_to)==0) $error = "Fehler....";
    
      ...
    ?>


    oder du benutzt ein regulären Ausdruck um die Eingaben zu prüfen:
    <?
        function isStringValid($x)
        {
            $x = trim($x);
            if ($x!='') {
                 $Pattern = '^([A-z0-9\.ÄäÖöÜüß -]+)$';
                if (eregi($Pattern, $x)) {
                    return 1;
                 } else {
                    return 0;
                 }
            } else {
                return 0;
            }
        }
    
    
        if (!isStringValid($_POST['msg_to']) {
        	echo 'Fehler....';
        } else {
        	// mache irgendwas mit der Eingabe...
        	
        }
    
    ?>


    Grüßle

    Beitrag geaendert: 30.5.2007 15:35:51 von scout
  4. if (trim ($string)) { } reicht für gewöhnlich aus.

    MfG Lucas
  5. Autor dieses Themas

    s***h

    Hm trim() ist eigentlich genau das, was ich gesucht habe :biggrin:

    Vielen Dank ;)

    Ich glaub, ich muss mal so ne Liste suchen mit den meist genutzten PHP-Funktionen^^ Ich kann da nur ne Hand voll :D

    Beitrag geaendert: 30.5.2007 16:00:41 von sesch

  6. Hm trim() ist eigentlich genau das, was ich gesucht habe :biggrin:

    Vielen Dank ;)

    Ich glaub, ich muss mal so ne Liste suchen mit den meist genutzten PHP-Funktionen^^ Ich kann da nur ne Hand voll :D

    Schreib mir mal eine PN dann kann ich dir da was zumailen
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!