diff --git a/program/lib/html2text.php b/program/lib/html2text.php index b00c28abc..e78ea10a9 100644 --- a/program/lib/html2text.php +++ b/program/lib/html2text.php @@ -201,8 +201,8 @@ class html2text "\n\n", //
]*>/', - '/<\/pre>/' + "/\n/", + "/\t/", + '/ /', + '/]*>/', + '/<\/pre>/' ); /** @@ -262,11 +262,11 @@ class html2text * @see $pre_search */ var $pre_replace = array( - '
', - ' ', - ' ', - '', - '' + '
', + ' ', + ' ', + '', + '' ); /** @@ -342,10 +342,10 @@ class html2text if ( !empty($source) ) { $this->set_html($source, $from_file); } - + $this->set_base_url(); - $this->_do_links = $do_links; - $this->width = $width; + $this->_do_links = $do_links; + $this->width = $width; } /** @@ -359,10 +359,10 @@ class html2text function set_html( $source, $from_file = false ) { if ( $from_file && file_exists($source) ) { - $this->html = file_get_contents($source); + $this->html = file_get_contents($source); } else - $this->html = $source; + $this->html = $source; $this->_converted = false; } @@ -463,15 +463,15 @@ class html2text $text = trim(stripslashes($this->html)); - // Convert+ // Convert$this->_convert_pre($text); // 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'); + // Replace known html entities + $text = html_entity_decode($text, ENT_COMPAT, 'UTF-8'); // Remove unknown/unhandled entities (this cannot be done in search-and-replace block) $text = preg_replace('/&[^&;]+;/i', '', $text); @@ -547,11 +547,10 @@ class html2text */ function _convert_pre(&$text) { - while(preg_match('/]*>(.*)<\/pre>/ismU', $text, $matches)) - { - $result = preg_replace($this->pre_search, $this->pre_replace, $matches[1]); - $text = preg_replace('/]*>.*<\/pre>/ismU', '', $text, 1); - } + while(preg_match('/
' . $result . ']*>(.*)<\/pre>/ismU', $text, $matches)) { + $result = preg_replace($this->pre_search, $this->pre_replace, $matches[1]); + $text = preg_replace('/]*>.*<\/pre>/ismU', '', $text, 1); + } } /** @@ -563,18 +562,17 @@ class html2text */ function _preg_callback($matches) { - switch($matches[1]) - { - case 'b': - case 'strong': - return $this->_strtoupper($matches[2]); - case 'hr': - return $this->_strtoupper("\t\t". $matches[2] ."\n"); - case 'h': - return $this->_strtoupper("\n\n". $matches[2] ."\n\n"); - case 'a': - return $this->_build_link_list($matches[3], $matches[4]); - } + switch($matches[1]) { + case 'b': + case 'strong': + return $this->_strtoupper($matches[2]); + case 'hr': + return $this->_strtoupper("\t\t". $matches[2] ."\n"); + case 'h': + return $this->_strtoupper("\n\n". $matches[2] ."\n\n"); + case 'a': + return $this->_build_link_list($matches[3], $matches[4]); + } } /** @@ -586,10 +584,10 @@ class html2text */ function _strtoupper($str) { - if (function_exists('mb_strtoupper')) - return mb_strtoupper($str); - else - return strtoupper($str); + if (function_exists('mb_strtoupper')) + return mb_strtoupper($str); + else + return strtoupper($str); } }
' . $result . '