Guest User

Untitled

a guest
Nov 19th, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. /**
  2. * Removes unnecessary whitelines and breakspaces.
  3. * @param string $buffer HTML output
  4. * @return string Sanitized output
  5. * @author Marvin Thomas Rabe
  6. */
  7. function sanitize_output($buffer) {
  8. $ignored = array();
  9. $i = 0;
  10. preg_match_all("/<textarea[^>]*?>(.*?)<\/textarea>/s", $buffer, $expr);
  11. foreach ($expr[0] as $k => $v) {
  12. $ignored[$i] = $expr[0][$k];
  13. $buffer = str_replace($expr[0][$k], '<='.$i.'=>', $buffer);
  14. $i++;
  15. }
  16.  
  17. preg_match_all("/<script[^>]*?>(.*?)<\/script>/s", $buffer, $expr);
  18. foreach ($expr[1] as $k => $v) {
  19. if(empty($expr[1][$k]))
  20. continue;
  21. $temp = preg_replace('/\s+\/{2,}.*\s+/', '', $expr[1][$k]);
  22. $temp = preg_replace('/\s+\/\*.*\*\/\s+/s', '', $temp);
  23. $buffer = str_replace($expr[1][$k], $temp, $buffer);
  24. }
  25.  
  26. $buffer = preg_replace('/\n\r|\r\n|\n|\r|\t/', '', $buffer);
  27. $buffer = preg_replace('/ {2,}/', ' ', $buffer);
  28.  
  29. foreach($ignored as $k => $v) {
  30. $buffer = preg_replace('/<='.$k.'=>/', $v, $buffer);
  31. }
  32.  
  33. return $buffer;
  34. }
Add Comment
Please, Sign In to add comment