Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Funkcja eregi
Forum PHP.pl > Forum > Przedszkole
piotr485
Dlaczego to nie działa tak jak powinno ?

  1. !eregi("[a-z]", "kamil 9403")
  2. !eregi("[a-z]", "kamil")


W obudwu przypadkach dostaje true - dlaczego ?
darko
Warning

This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.


używaj preg_match
piotr485
Nic nie kumam z tego manuala


  1. preg_match("[a-z]", "ciag znakow")
  2. preg_match("[a-z]", "ciag znakow z 2 442")


zawsze fałsz dlaczego ?

Źle określam dziedzinę czy co ?
Fifi209
bo wyrażenia są niepoprawne.

Daj:

#^([a-z]+)$#
piotr485
napisałem coś takiego czyli:

  1. #^([a-z]+[A-Z]+-+)


Dozwolone: a-z, A-Z i znak "-" - a jak pozwolić na " (cudzysłów ?)

Próbowałem tak -

  1. #^([a-z]+[A-Z]+-+\"+)


ale nie działa
thek
Na początek to poczytaj jakiś kurs wyrażeń regularnych bo
"robisz to źle" winksmiley.jpg
+?* i jeszcze pewne inne znaki są znakami specjalnymi i muszą być poprzedzone znakiem ucieczki by były widziane literalnie i nie były uznawane właśnie za specjalne. Stąd zgrupuj wszystkie dozwolone znaki w nawiasie kwadratowym jednym i później ewentualnie określ czy może ich być 0 i więcej czy 1 i więcej
([a-zA-Z-"]+)
Normalnie poczytaj trochę kursów zanim zaczniesz bo to są elementarne rzeczy przy wyrażeniach.
piotr485
Dziwne to co napisałeś nie działa dla "

to działa (bez znakow ucieczki) - \
  1. "#^([a-zA-Z-?$%]+)$#"


ale to już nie:

"#^([a-zA-Z-?$%"]+)$#"

Co oznaczają na poczatku # ^ i koncu $#

Jak pozwolic rowniez na spacje ?

P.S. nie znalazlem zadnego dobrego kursu z takimi wyrazeniami
thek
A czego się dziwisz, skoro masz 3 podwójne apostrofy "#^([a-zA-Z-?$%"]+)$#" i drugi z nich Ci zamyka wyrażenie.
^ oznacza, że ciąg ma być na początku
$ że ciąg na końcu ma być
Tak więc ^ciąg$ oznacza, że to ma być jedyna całość w szukanym ciągu
Sam zobacz:
http://www.phpf1.com/tutorial/php-regular-expression.html

I nie licz, że na polskich stronach znajdziesz wytłumaczone to łopatologicznie, jak krowie na rowie. Najlepsze przykłady i tutoriale są w języku angielskim.

A to że Ty nie uznałeś iż coś jest "dobre" to samo znaczy dla innych. Bez obrazy, ale patrząc co piszesz mam wrażenie, że dla Ciebie nawet podstawy są za trudne i nie przejawiasz żadnej ochoty na naukę tego, tylko szukasz rozwiązania po najmniejszej linii oporu, bo pytania i problemy jakie rzucasz są jako komentarze do artykułów o wyrażeniach regularnych. Czyli nawet do tutoriali jak widzę nie zaglądasz, choć tak twierdzisz.
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.