String auf Leerzeichen untersuchen V2.
Sarah
- php
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
Probiers mal mit:
$wert = "Ersteswort zweitesWort";
if (count(explode(" ",$wert))>1) {
echo "es hat keinen Leerschlag";
} else {
echo "Es hat einen Leerschlag";
}
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
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
http://de2.php.net/trim
Gruß
Color
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