Advertisement
Guest User

02. Email Censorship

a guest
Aug 21st, 2014
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.20 KB | None | 0 0
  1. <?php
  2. $text = $_GET['text'];
  3. $blacklist = $_GET['blacklist'];
  4. $blacklist = preg_split("/\s/", $blacklist, -1, PREG_SPLIT_NO_EMPTY);
  5.  
  6. //$text = "34567@@sd.k my-OP.email@winner.k pp45@fgjg.kk";
  7. //$blacklist = array("*.k");
  8.  
  9. $emailpattern = "/[a-zA-Z0-9+_-]+@[a-zA-Z0-9+_-]+\.[a-zA-Z0-9-.]+/";
  10. $pattern = array();
  11. foreach ($blacklist as $item) {
  12.     if (strpos($item, '*') !== false) {
  13.         $endsWithPattern = "/[a-zA-Z0-9+_-]+@[a-zA-Z0-9+_-]+\\";
  14.         $item = str_replace("*", "", $item);
  15.         $pattern[] = $endsWithPattern . $item . '/';
  16.     } else {
  17.         $pattern[] = '/' . $item . '/';
  18.     }
  19. }
  20. for ($i = 0; $i < sizeof($pattern); $i++) {
  21.     if (preg_match($pattern[$i], $text, $matches)) {
  22.         $text = preg_replace($pattern[$i], createAsterisks(strlen($matches[0])), $text) . "\n";
  23.     }
  24. }
  25. preg_match_all($emailpattern, $text, $matches);
  26. foreach($matches[0] as $currMatch) {
  27.    $text = preg_replace('/'.$currMatch.'/', '<a href="mailto:'. $currMatch .'">'. $currMatch . '</a>', $text);
  28. }
  29. $text = trim($text);
  30. echo '<p>'.$text.'</p>';
  31. function createAsterisks($n)
  32. {
  33.     $asterisks = '';
  34.     for ($i = 0; $i<$n; $i++) {
  35.         $asterisks.= '*';
  36.     }
  37.     return $asterisks;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement