$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: daniel_james_at_[hidden]
Date: 2008-08-03 07:07:25
Author: danieljames
Date: 2008-08-03 07:07:25 EDT (Sun, 03 Aug 2008)
New Revision: 47960
URL: http://svn.boost.org/trac/boost/changeset/47960
Log:
Improve the code for stripping out the header table.
Text files modified: 
   website/public_html/beta/common/code/boost_archive.php |    27 +++++++++++----------------             
   1 files changed, 11 insertions(+), 16 deletions(-)
Modified: website/public_html/beta/common/code/boost_archive.php
==============================================================================
--- website/public_html/beta/common/code/boost_archive.php	(original)
+++ website/public_html/beta/common/code/boost_archive.php	2008-08-03 07:07:25 EDT (Sun, 03 Aug 2008)
@@ -325,23 +325,18 @@
         }
         
         # nasty code, because (?!fubar) causes an ICE...
-        preg_match('@<table_at_i',$text,$table_begin,PREG_OFFSET_CAPTURE);
+        preg_match('@<table[^<>]*>?@i',$text,$table_begin,PREG_OFFSET_CAPTURE);
         preg_match('@</table>@i',$text,$table_end,PREG_OFFSET_CAPTURE);
-        if (isset($table_begin[0]) && isset($table_end[0]) &&
-            strpos(substr($text,0,$table_end[0][1]),'boost.png',$table_begin[0][1]) !== FALSE)
-        {
-            $text = substr($text,$table_end[0][1]+strlen($table_end[0][0]));
-        }
-        
-        preg_match('@<h[12]@i',$text,$h1_begin,PREG_OFFSET_CAPTURE);
-        preg_match('@</h[12]>@i',$text,$h1_end,PREG_OFFSET_CAPTURE);
-        preg_match('@<table_at_i',$text,$table_begin,PREG_OFFSET_CAPTURE);
-        preg_match('@</table>@i',$text,$table_end,PREG_OFFSET_CAPTURE);
-        if (isset($h1_begin[0]) && isset($table_end[0]) &&
-            $table_begin[0][1] < $h1_begin[0][1] && $h1_begin[0][1] < $table_end[0][1]+8)
-        {
-            $text = substr($text,$h1_begin[0][1],
-                $h1_begin[0][1]-$h1_end[0][1]+5) . substr($text,$table_end[0][1]+8);
+        if (isset($table_begin[0]) && isset($table_end[0])) {
+            $table_contents_start = $table_begin[0][1] + strlen($table_begin[0][0]);
+            $table_contents = substr($text, $table_contents_start,
+                $table_end[0][1] - $table_contents_start);
+            if(strpos($table_contents, 'boost.png') !== FALSE) {
+                preg_match('@<td[^<>]*>?([^<]*<(h[12]|p).*?)</td>@is', $table_contents,
+                    $table_contents_header, PREG_OFFSET_CAPTURE);
+                $text = (isset($table_contents_header[1]) ? $table_contents_header[1][0] : '').
+                    substr($text, $table_end[0][1] + 8);
+            }
         }
         #else
         #{