PHP: Leerzeichen ausgrenzen

Hallo!

Ich habe ein Problem:
Ich habe eine kleine Community Programmiert, wo jeder sein eigenes Profil hat.
Wenn die Person kein Namen eingibt, soll dort „(No Name)“ stehen. Jedoch reicht ein einziges Leerzeichen aus, damit da nur " ." steht. Der Punks wird automatisch hinzugefügt. da dies nicht gerade schön aussieht, hatte ich bereits das Leerzeichen ausgegrenzt. Dann haben aber schon 2 leerzeichen ausgereicht und es stand dort wieder da selbe. Gibt es eine Möglichkeit um festzustellen, ob dort nur leerzeichen stehen, oder auch buchstaben. das leerzeichen zu unterdrücken würde auch nicht helfen, da jemand auch „Max Mustermann“ schreiben könnte.

Vielen Dank vorher für eure Hilfe,
Askan

hallo askan,

wie wäre es damit:

<small><br>$user = 'name_min5_max20';<br>if ( preg_match('/^[a-z\d_]{5,20}$/i', $user) ) {<br> echo 'Username OK.';<br>} else {<br> echo 'Username nicht OK.';<br>}<br></small>

gruß
klaus

Hallo!

ausgereicht und es stand dort wieder da selbe. Gibt es eine
Möglichkeit um festzustellen, ob dort nur leerzeichen stehen,
oder auch buchstaben. das leerzeichen zu unterdrücken würde
auch nicht helfen, da jemand auch „Max Mustermann“ schreiben
könnte.

Das könnte man direkt auf der Webseite (in Javascript)
machen, d.h. wenn die Anmeldung ans PHP zurückkommt,
ist der Name ok.
Beispiel - man muß für den Namen mindestens zwei Zeichen
eingeben, am Ende und am Anfang aber keine Leerzeichen:

 function check\_form\_name(v)
 {
 if( v.match(/^\S.\*\S$/) ) {
 ThisForm.Name.value = v;
 document.getElementById('checkme').innerHTML = '√';
 }
 else {
 ThisForm.Name.value = '(No Name)';
 document.getElementById('checkme').innerHTML = '—';
 }
}

Kannst Du Dir dann so hinbiegen wie Du’s brauchst.

Grüße

CMБ

Hi
Oder benutz trim();

Das löscht die Leerzeichen vorne und hinten und das was über bleibt ist entweder ein Name oder es ist Leer.

Gruß Lamer