| <?  | 
 | /******************************************************************************* | 
 |  * Copyright (c) 2007 Eclipse Foundation and others. | 
 |  * All rights reserved. This program and the accompanying materials | 
 |  * are made available under the terms of the Eclipse Public License v1.0 | 
 |  * which accompanies this distribution, and is available at | 
 |  * http://www.eclipse.org/legal/epl-v10.html | 
 |  * | 
 |  * Contributors: | 
 |  *    Wayne Beaton (Eclipse Foundation)- initial API and implementation | 
 |  *******************************************************************************/ | 
 | function get_title_from_html_document(&$file_name) { | 
 | 	$header = get_header_from_html_document($file_name); | 
 | 	 | 
 | 	/* | 
 | 	 * Break the header up into multiple lines. Handle the | 
 | 	 * case where line breaks are lf, crlf, or cr. | 
 | 	 */ | 
 | 	 | 
 | 	$lines = preg_split("/\r?\n|\r/", $header);  | 
 | 	 | 
 | 	/* | 
 | 	 * Merge the lines into a single line so that eregi | 
 | 	 * can find the title even if it is split over multiple | 
 | 	 * lines | 
 | 	 */ | 
 | 	$one_line = implode(" ", $lines);  | 
 | 	 | 
 | 	/* | 
 | 	 * If we can match a title tag, extract it. | 
 | 	 */ | 
 | 	if (eregi("<title>(.*)</title>", $one_line, $title)) { | 
 |     	return "Eclipse Corner Article: $title[1]"; | 
 | 	} | 
 | 	 | 
 | 	return "Eclipse Corner Article"; | 
 | } | 
 |  | 
 | function get_header_from_html_document(&$file_name) { | 
 | 	$handle = @fopen($file_name, "r"); | 
 | 	$content = ""; | 
 |     while (!feof($handle)) { | 
 |         $part = fread($handle, 1024); | 
 |         $content .= $part; | 
 |          | 
 |         /* | 
 |          * Only read up to the part that includes the | 
 |          * end tag for the header area. | 
 |          */ | 
 |         if (eregi("</head>", $part)) break; | 
 |     } | 
 |     fclose($handle); | 
 |     return $content; | 
 | } |