Sarah: String auf Leerzeichen untersuchen

Hallo zusammen

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.

$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?

Merci für die Hilfe
Sarah

  1. Ich grüsse den Cosmos,

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

    Wie sieht denn der String aus? Wenn die URL noch nicht decodiert ist, sind leerzeichen durch %20 ersetzt. Ebenfalls prüfst du nmicht auf Tabs und andere Witespaces.

    probiers mal mit

    preg("/+\s/", $wert);

    Ungetestet aus dem Kopf, die Doku hilft sicher weiter.

    Möge das "Self" mit euch sein

    --
    Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
    ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
  2. --> Ins else kommt es aber nie, obwohl im Text ein Leerzeichen enthalten ist, wie kann ich herausfinden, ob ein Leerzeichen enthalten ist?

    versuchs mal mit ereg

    if(ereg(" ",$val))

  3. Hello,

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

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

    Einen Fehler sehe ich hier nicht.
    Könnte sein, dass Dein Editor in der falschen Kodierung abspeichert, könnte sein, dass Dein Browser sie in der falschen Codierung schickt.

    Du sagst, die Quelle von $wert ist ein Formular. Dann wirst Du es sicher aus

    $_POST['wert']

    entnehmen, oder?

    Das ist jetzt eine gute Glegenheit, sich noch etwas mit Strings auseinanderzusetzen. Ein String kann in PHP auch wie ein "numerisches Array" behandelt werden. Du kannst also auf jedes Zeichen des Strings über

    $zeichen = $wert[$i]

    zugreifen, für $i = 0 bis $i = strlen($wert)-1

    und kannst dann reingucken, was denn wohl drinsteht.
    Bei einem solch seltsamen Verhalten Deines Programmes würde ich das schon mal machen. Wer weiß schon ohne Tests, wo der Fehler steckt?

    Außerdem gibt es noch die Funktionen

    http://www.php.net/manual/en/function.substr-count.php

    und

    http://www.php.net/manual/en/function.count-chars.php

    die Dir zum Erfolg verhelfen können.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Hi,

      BTW: Ich weiß nicht, ob Sie es schon wußten ;-), aber statt

      http://www.php.net/manual/en/function.substr-count.php

      geht's kürzer und besser mit

      http://php.net/substr-count

      Kürzer versteht sich von selbst, und besser, das das Manual-Script dann die Sprache auswählt, die der User eingestellt hat, und nicht die, die der Linksetzer beherrscht. ;)

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      1. echo $begrüßung;

        BTW: Ich weiß nicht, ob Sie es schon wußten ;-), aber statt

        http://www.php.net/manual/en/function.substr-count.php
        geht's kürzer und besser mit
        http://php.net/substr-count

        BTW: Ich weiß nicht, ob Sie es schon wußten ;-), aber ich beispielsweise tippe die URL nicht ab, sondern kopiere sie und füge sie ein. Das ist kürzer als Tippen oder nachträgliches Umformatieren.

        Kürzer versteht sich von selbst, und besser, das das Manual-Script dann die Sprache auswählt, die der User eingestellt hat, und nicht die, die der Linksetzer beherrscht. ;)

        Außerdem sind die Übersetzungen teilweise unvollständig / unaktuell. Es ist also durchaus gewollt, das Original zu verlinken, weil ich mich auf dieses beziehe, und nicht auf irgendeine Übersetzung, die ich ja nicht alle kontrollieren kann. Wenn jemand meint, eine Übersetzung lesen zu müssen, kann er sich das ganz einfach selbst umstellen, muss dann aber mit den möglichen Konsequenzen leben.

        echo "$verabschiedung $name";

        1. Hi,

          BTW: Ich weiß nicht, ob Sie es schon wußten ;-), aber ich beispielsweise tippe die URL nicht ab, sondern kopiere sie und füge sie ein. Das ist kürzer als Tippen oder nachträgliches Umformatieren.

          Schon, mache ich ja auch - außer bei diesen Manual-Kurz-URLs. Da bin ich schneller per Hand ... ;)

          Außerdem sind die Übersetzungen teilweise unvollständig / unaktuell.

          Jo, das wußte ich - und sollte auch jeder Nutzer insbesondere des PHP-Manuals wissen (egal auf welche Sprache er gelangt/verlinkt wird).

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!