From 086767c8f273e3bdd6c455876ccbcd876041b503 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sat, 04 Sep 2010 03:59:48 -0400
Subject: [PATCH] - Added mail_header_delimiter validation
---
program/lib/html2text.php | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/program/lib/html2text.php b/program/lib/html2text.php
index dbf0943..9c5267f 100644
--- a/program/lib/html2text.php
+++ b/program/lib/html2text.php
@@ -148,7 +148,6 @@
'/[ ]{2,}/', // Runs of spaces, pre-handling
'/<script[^>]*>.*?<\/script>/i', // <script>s -- which strip_tags supposedly has problems with
'/<style[^>]*>.*?<\/style>/i', // <style>s -- which strip_tags supposedly has problems with
- //'/<!-- .* -->/', // Comments -- which strip_tags might have problem a with
'/<p[^>]*>/i', // <P>
'/<br[^>]*>/i', // <br>
'/<i[^>]*>(.*?)<\/i>/i', // <i>
@@ -158,6 +157,7 @@
'/<li[^>]*>(.*?)<\/li>/i', // <li> and </li>
'/<li[^>]*>/i', // <li>
'/<hr[^>]*>/i', // <hr>
+ '/<div[^>]*>/i', // <div>
'/(<table[^>]*>|<\/table>)/i', // <table> and </table>
'/(<tr[^>]*>|<\/tr>)/i', // <tr> and </tr>
'/<td[^>]*>(.*?)<\/td>/i', // <td> and </td>
@@ -192,8 +192,7 @@
' ', // Runs of spaces, pre-handling
'', // <script>s -- which strip_tags supposedly has problems with
'', // <style>s -- which strip_tags supposedly has problems with
- //'', // Comments -- which strip_tags might have problem a with
- "\n\n", // <P>
+ "\n\n", // <P>
"\n", // <br>
'_\\1_', // <i>
'_\\1_', // <em>
@@ -202,6 +201,7 @@
"\t* \\1\n", // <li> and </li>
"\n\t* ", // <li>
"\n-------------------------\n", // <hr>
+ "<div>\n", // <div>
"\n\n", // <table> and </table>
"\n", // <tr> and </tr>
"\t\t\\1\n", // <td> and </td>
@@ -468,13 +468,15 @@
// Run our defined search-and-replace
$text = preg_replace($this->search, $this->replace, $text);
- $text = preg_replace_callback($this->callback_search, array('html2text', '_preg_callback'), $text);
// Replace known html entities
$text = html_entity_decode($text, ENT_COMPAT, 'UTF-8');
+ // Run our defined search-and-replace with callback
+ $text = preg_replace_callback($this->callback_search, array('html2text', '_preg_callback'), $text);
+
// Remove unknown/unhandled entities (this cannot be done in search-and-replace block)
- $text = preg_replace('/&[^&;]+;/i', '', $text);
+ $text = preg_replace('/&#?[a-z0-9]{2,7};/i', '', $text);
// Strip any other HTML tags
$text = strip_tags($text, $this->allowed_tags);
@@ -566,7 +568,7 @@
case 'b':
case 'strong':
return $this->_strtoupper($matches[2]);
- case 'hr':
+ case 'th':
return $this->_strtoupper("\t\t". $matches[2] ."\n");
case 'h':
return $this->_strtoupper("\n\n". $matches[2] ."\n\n");
--
Gitblit v1.9.1