Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Blokowanie treści adresu email
Forum PHP.pl > Forum > PHP
mayu11
Witam, mam takie pytanie... jak zablokować maila w taki sposób:

Adres.Email@Host.emaila => xxxxx.xxxxx@Host.emaila

Szukałem czegoś takiego, ale nikt chyba tego nie szukał, wiem, że trzeba pobawić się chyba z preg_replace / str_replace, ale nie wiem jak.
blooregard
Cytat
Szukałem czegoś takiego, ale nikt chyba tego nie szukał,

Pokaż, jak szukałeś.
MateuszS
Pewnie slabo szukales, na szczescie mi sie nudzilo i napisalem malego giganta

  1. function email($email) {
  2. if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i", $email)) {
  3. return true;
  4. }
  5. return false;
  6.  
  7. }
  8.  
  9. function booyakasha($email)
  10. {
  11. if(email($email)) {
  12. $email = explode('@', $email);
  13. $array = str_split($email[0]);
  14. foreach($array as $checkIt) {
  15. if($checkIt != ".") {
  16. $new = str_replace($checkIt, "x", $checkIt);
  17. $newEmail = $newEmail.$new;
  18. } else {
  19. $newEmail = $newEmail.".";
  20. }
  21. }
  22. return $newEmail."@".$email[1];
  23. }
  24. }
  25.  
  26. echo booyakasha("mat.eusz@wp.pl");
mayu11
http://www.google.pl/search?q=blokowanie+t...lient=firefox-a
http://www.google.pl/search?hl=pl&safe...ila+replace+php
http://www.google.pl/search?hl=pl&safe...mp;aq=f&oq=


{Fatal error: Call to undefined function: str_split() in ----/func.php on line 14}


$array = str_split($email[0]);


// Wersja PHP 4.4.9
Dostępne w PHP 5 sad.gif
thek
No to użyj czegoś innego zamiast str_split. Choćby preg_replace zamieniające na x wszystko oprócz kropki smile.gif
Fifi209
Cytat(MateuszScirka @ 14.03.2010, 22:02:53 ) *
Pewnie slabo szukales, na szczescie mi sie nudzilo i napisalem malego giganta

  1. function email($email) {
  2. if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i", $email)) {
  3. return true;
  4. }
  5. return false;
  6.  
  7. }

Ehh... a filter_var ?
mayu11
  1. function x_it($email)
  2. {
  3. $email = explode('@', $email);
  4. $m1 = $email[0];
  5. $m2 = $email[1];
  6. $len = strlen($m1);
  7. while($len > 0){
  8. $newEmail .= " *";
  9. $len = $len - 1;
  10. }
  11. return $newEmail."@".$m2;
  12. }


Zrobiłem to już innym sposobem...
Dla przyszłych pokoleń.

Kropki już mam gdzieś...
thek
Zamiast używać while spróbuj z gotową funkcją:
  1. str_repeat( '*', $len );
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.