![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Sarah, 31. 01. 2007, 09:40
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
Die folgende Nachricht zum Thema stammt von: Daniel Reckling, 31. 01. 2007, 09:49
Probiers mal mit:
$wert = "Ersteswort zweitesWort";
if (count(explode(" ",$wert))>1) {
echo "es hat keinen Leerschlag";
} else {
echo "Es hat einen Leerschlag";
}
Die folgende Nachricht zum Thema stammt von: maik, 31. 01. 2007, 09:53
»» 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
Die folgende Nachricht zum Thema stammt von: romy, 31. 01. 2007, 09:59
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
--
Sie haben Tiere? Sie haben Fragen?
Sie möchten einem Tier ein neues zu Hause geben?
Die folgende Nachricht zum Thema stammt von: Color, 31. 01. 2007, 10:00
http://de2.php.net/trim
Gruß
Color
Die folgende Nachricht zum Thema stammt von: David Aurelio, 31. 01. 2007, 10:35
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
© 1998-2006
Impressum, Software: Classic Forum