Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: !eregi a PHP 5.3.1
Forum PHP.pl > Forum > PHP
cedunio
Mam problem z funkcją !eregi która w PHP 5.3.1 została usunięta. Jaką funkcją można by zastąpić taki fragment kodu:

  1. function check_login($username, $md5_password){
  2. $result = FALSE;
  3. $full_member_db = file("./data/users.db.php");
  4. global $member_db;
  5.  
  6. foreach($full_member_db as $member_db_line)
  7. {
  8. if(!eregi("<\?",$member_db_line)){
  9. $member_db = explode("|",$member_db_line);
  10. if(strtolower($member_db[2]) == strtolower($username) && $member_db[3] == $md5_password)
  11. {
  12. $result = TRUE;
  13. break;
  14. }
  15. }
  16. }
  17. return $result;
  18. }

Mógłby ktoś podrzucić jak powinno to wyglądać właściwie?
Z góry dzięki.
blooregard
http://pl2.php.net/preg_match
cedunio
Do tego akurat doszedłem. Jednak za bardzo nie orientuję się jak należy jej użyć.
blooregard
Tu masz wszystko, co potrzebujesz:
http://pl2.php.net/manual/pl/pcre.examples.php
http://pl2.php.net/manual/pl/pcre.pattern.php
i pozostałe z tego rozdziału manuala.


Poszukaj również w Internecie materiałów na temat składni PCRE (Perl-Compatible Regular Expressions) i wszystko stanie się jasne.
Gotowca nie dostaniesz smile.gif
cedunio
Jednak czytanie nie boli.
Dla potomnych, trzeba było zamienić:
  1. if(!eregi("<\?",$member_db_line)

na
  1. if(!preg_match('/<\?/', $member_db_line))
.

I to na tyle.
Pzdr
blooregard
Cytat
Jednak czytanie nie boli.

No widzisz, a manuala w szczególności.

Na przyszłość - manual na php.net rozwiązuje 99% problemów, jakie pojawiają się na tym forum (w związku z samym PHP oczywiście). Trzeba tylko nauczyć się z niego korzystać.
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.