String auf Leerzeichen untersuchen
Sarah
- php
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
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
--> 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))
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
Hi,
BTW: Ich weiß nicht, ob Sie es schon wußten ;-), aber statt
geht's kürzer und besser mit
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
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";
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