Sarah: String auf Leerzeichen untersuchen V2.

Hallo zusammen

Ich habe bereits gestern geschrieben, habe allerdings keine für mich passende Antwort bekommen.

Ich habe ein Formular und möchte gerne abfragen, ob es in einem Feld Leerschläge hat, wenn ja, müssen die Daten nochmals eingegeben werden, da keine Leerzeichen erwünscht sind.

$wert = "Ersteswort zweitesWort";
$pos = strpos($wert, ' ');

if ($pos === FALSE)
{
  echo "es hat keinen Leerschlag";
}
else
{
  echo "Es hat einen Leerschlag";
}

--> Ins else kommt es aber nie, obwohl im Text ein Leerzeichen enthalten ist, wie kann ich herausfinden, ob ein Leerzeichen enthalten ist?

--> Mit ereg(" ", $wert) funktioniert es nicht und mit preg_match("/+\s/", $wert) auch nicht

Oder weiss jemand wie ich innerhalb eines Strings Leerschläge entfernen kann, oder hat eine andere gute Idee?

Merci für die Hilfe
Sarah

  1. Probiers mal mit:

    $wert = "Ersteswort zweitesWort";

    if (count(explode(" ",$wert))>1) {
       echo "es hat keinen Leerschlag";
    } else {
       echo "Es hat einen Leerschlag";
    }

  2. Hallo zusammen

    Ich habe bereits gestern geschrieben, habe allerdings keine für mich passende Antwort bekommen.

    Ich habe ein Formular und möchte gerne abfragen, ob es in einem Feld Leerschläge hat, wenn ja, müssen die Daten nochmals eingegeben werden, da keine Leerzeichen erwünscht sind.

    $wert = "Ersteswort zweitesWort";
    $pos = strpos($wert, ' ');

    if ($pos === FALSE)
    {
      echo "es hat keinen Leerschlag";
    }
    else
    {
      echo "Es hat einen Leerschlag";
    }

    --> Ins else kommt es aber nie, obwohl im Text ein Leerzeichen enthalten ist, wie kann ich herausfinden, ob ein Leerzeichen enthalten ist?

    --> Mit ereg(" ", $wert) funktioniert es nicht und mit preg_match("/+\s/", $wert) auch nicht

    Oder weiss jemand wie ich innerhalb eines Strings Leerschläge entfernen kann, oder hat eine andere gute Idee?

    Merci für die Hilfe
    Sarah

    relativ einfach die sache :)

    $text = "Hallo Welt";
    if($erg = eregi(' ', $text)){
      echo 'Ungültiges Datumsformat: ' . $text;
    }else{
      echo 'Gültiges Datumsformat: ' . $text;
    }

    fertisch ....

    kannst jede menge variablen deklarieren die z.B. $fehler = 1; , etc.
    um die fehler dann abzuarbeiten!

    greets
    maik

  3. Hi Sarah,

    Ich habe bereits gestern geschrieben, habe allerdings keine für mich passende Antwort bekommen.

    gestriger Beitrag
    Warum hast du nicht etwas Geduld? Es hätten ja noch andere Antworten kommen können. Doppelposts sind hier nicht erwünscht, du hättest auch auf die Antworten eingehen können und dazu schreiben, warum sie dir nicht helfen.

    Wenn du mit den Antworten was anfangen willst, solltest du die angegebenen Funktionen mal suchen und dir die Beschreibung durchlesen. Wenn da nichts bei rauskommt, steht es dir frei weiter zu fragen.

    Zum Thema: $pos = strpos($wert, ' '); ist eher unsauber, da du nicht weißt, welches Zeichen hinter deinem freien Zeichen steckt, aber das wurde dir ja schon gesagt. Besser ist also, du prüfst auf gültige Zeichen, da ich annehme, dass die Beschränkung auf Leerzeichen nicht die einzige ist. Um auf gültige Zeichen zu prüfen, ist eine regular expression sinnvoll und die prüfst du am besten mit preg_match oder ereg.

    ciao
    romy

  4. http://de2.php.net/trim

    Gruß
    Color

  5. Hallo Sarah,

    und mit preg_match("/+\s/", $wert) auch nicht

    Das Plus-Zeichen hat an der Stelle auch nichts verloren.
    Der Reguläre Ausdruck sollte "/\s/" ("ein whitespace-Zeichen") oder "/\s+/" ("ein oder mehrere whitespace-Zeichen hintereinander") sein.
    preg_match gibt außerdem 0 oder 1 zurück, der Rückgabewert kann also gar nicht identisch ("===") mit false sein.

    Versuche es also mit

      
    $wert = "Ersteswort zweitesWort";  
      
    if (preg_match("/\s/", $wert) === 0) {  
        echo "es hat keinen Leerschlag";  
    } else {  
        echo "Es hat einen Leerschlag";  
    }  
    
    

    Gruß, David