[PHP-WEBMASTER] [web-news] master: Fix minor header formatting issues

Author: Jim Winstead (jimwins)
Date: 2024-08-27T15:09:20-07:00

Commit: Fix minor header formatting issues · php/web-news@053363c · GitHub
Raw diff: https://github.com/php/web-news/commit/053363cbf0451a26c37c2cf81d6f2d7bac19fc73.diff

Fix minor header formatting issues

Changed paths:
  M lib/common.php
  M lib/fMailbox.php

Diff:

diff --git a/lib/common.php b/lib/common.php
index 1832175..e7b18c6 100644
--- a/lib/common.php
+++ b/lib/common.php
@@ -119,7 +119,7 @@ function decode_header($charset, $encoding, $text)
     if (strtolower($encoding) == "b") {
         $text = base64_decode($text);
     } else {
- $text = quoted_printable_decode($text);
+ $text = str_replace('_', ' ', quoted_printable_decode($text));
     }
     return to_utf8($text, $charset);
}
@@ -201,7 +201,7 @@ function format_title($s, $charset = 'iso-8859-1')
{
     global $article;
     $s = recode_header($s, $charset);
- $s = preg_replace("/^(Re: *)?\[(PHP|PEAR)(-.*)?\] /i", "\\1", $s);
+ $s = preg_replace("/^(Re: *)?\[(PHP|PEAR)(-.*?)?\] /i", "\\1", $s);
     // make this look better on the preview page..
     if (strlen($s) > 150 && !isset($article)) {
         $s = substr($s, 0, 150) . "...";
diff --git a/lib/fMailbox.php b/lib/fMailbox.php
index 78a5169..4ca75d1 100644
--- a/lib/fMailbox.php
+++ b/lib/fMailbox.php
@@ -350,7 +350,8 @@ private static function parseHeaders($headers, $filter = null)

         $parsed_headers = array();
         foreach ($header_lines as $header_line) {
- $header_line = preg_replace("#\r\n\s+#", ' ', $header_line);
+ # remove newlines + leading space or HTAB, per RFC822
+ $header_line = preg_replace("#\r\n[ \x09]#", '', $header_line);
             $header_line = trim($header_line);

             list ($header, $value) = preg_split('#:\s*#', $header_line, 2);