Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyrażenie regularne
Forum PHP.pl > Forum > Przedszkole
todaro
Mam w skrypcie rejestracji takie wyrażenie regularne:

  1. <?php
  2. ^[a-zA-Z0-9]+$
  3. ?>


Chciałbym, aby oprócz liter i cyfr można było użyć jeszcze spacji.

Udało mi się zrobić coś takiego:

  1. <?php
  2. if ((!ereg("^[a-zA-Z0-9]+$", $user))&&(!ereg("[^\ns]*", $user)))
  3. ?>


Dałoby się bez tej alternatywy?
Cysiaczek
Orłem nie jestem regex, ale:
  1. <?php
  2. $regex="^[a-zA-Z0-9s\n]+$";
  3. ?>

powinno działać smile.gif

Pozdrawiam
todaro
Cytat(Cysiaczek @ 25.06.2008, 17:10:37 ) *
Orłem nie jestem regex, ale:
  1. <?php
  2. $regex=&#092;"^[a-zA-Z0-9s\n]+$\";
  3. ?>

powinno działać smile.gif

Pozdrawiam


Właśnie w ten sposób nie działa mi to.
cbagov
if( preg_match ('/^[a-zA-Z0-9 ]+?$/', $user))

a jesli nie przeszkadza ci _ w nicku to mozesz zamienic to co w [] na [\w]
Cysiaczek
No wstawienie spacji recznie to tez jakieś rozwiązanie. Aby tamte \s działało, to serwer musi być odpowiednio skonfigurowany

Cytat
If a pattern is compiled with the PCRE_EXTENDED option, whitespace in the pattern (other than in a character class) and characters between a "#" outside a character class and the next newline character are ignored. An escaping backslash can be used to include a whitespace or "#" character as part of the pattern.
cbagov
tyle, ze \s to nie tylko spacje..

Ps. tu chyba nie chodzi o konfiguracje serwera a kompilacje regexp, zreszta nie spotkalem jeszcze od X lat takiego, ktory by mi tego nie wykonal :-\
Cysiaczek
Jasne, że nie, ale i tak nie działa bez specyficznej konfiguracji smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.