Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Weryfikacja ciągu znaków
Forum PHP.pl > Forum > Przedszkole
mariuszg
Witam,

Jak zrobić aby sprawdzać ciąg znaków. Jeśli w ciągu znaków wystąpią znaki # lub\i * to zwraca false.

Próbuję z preg_match ale nic mi nie wychodzi.

Proszę o pomoc
Pozdrawiam
Wicepsik
strpos
mariuszg
Działa:

  1. <?php
  2. $mystring = 'azncjdcds*regkwjg';
  3. $findme = '*';
  4. $pos = strpos($mystring, $findme);
  5.  
  6. if ($pos === false) {
  7. echo "brak";
  8. } else {
  9. echo "jest";
  10. }
  11. ?>


Działa dla pojedynczego znaku . Czy dla sprawdzenia kilku znaków muszę robić pętlę czy jest inny sposób ?
bastard13
Zwraca false jeżeli pojawi się chociaż jeden ze znaków * lub #
  1. funkcjon czy_tekst_ok($tekst)
  2. { if(preg_match('/[\*#]+/',$tekst))
  3. return false;
  4. return true;
  5. }
  6. czy_tekst_ok($twoj_tekst);
mariuszg
Działa pięknie. Wielkie dzięki.

Ale jestem niemowlaczek jeśli chodzi o wyrażenia regularne.
Jeśli macie jakieś linki gdzie jest to opisane jak dla niemowlaka to będę wdzięczny.

Dziękuję i pozdrawiam
tehaha
poprzedni sposób był lepszy i wydajniejszy wyrażenie regularne są wolne i nie służą do szukania pojedynczego znaku w tekście, żeby sprawdzić więcej niż jeden znak możesz użyć zwykłej alternatywy:
  1. if(strpos($text, '#') || strpos($text, '*'))
  2. {
  3. echo "nie dozwolony znak";
  4. }


co do wyrażeń regularnych tu masz dobry tutorial http://www.tipsntutorials.com/tutorials/PHP/50, ale pamiętaj, że wyrażenia są wolne i używaj ich tylko wtedy jeżeli danej funkcjonalności nie możesz osiągnąć prostszymi funkcjami
bastard13
http://www.php.net/manual/en/book.pcre.php
Tam masz naprawdę wszystko, od budowy wyrażeń po funkcje php'a, z przykładami. Jedyne wymagania to znajomość angielskiego:)
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.