2 /***************************************************************************
3 Copyright (C) 2005 - 2006 Scuttle project
4 http://sourceforge.net/projects/scuttle/
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 ***************************************************************************/
22 header('Content-Type: text/xml; charset=UTF-8');
23 header("Last-Modified: ". gmdate("D, d M Y H:i:s") ." GMT");
24 header("Cache-Control: no-cache, must-revalidate");
26 require_once('header.inc.php');
28 function getTitle($url) {
29 $fd = @fopen($url, 'r');
31 $html = fread($fd, 1750);
34 // Get title from title tag
35 preg_match_all('/<title>(.*)<\/title>/si', $html, $matches);
36 $title = $matches[1][0];
38 // Get encoding from charset attribute
39 preg_match_all('/<meta.*charset=([^;"]*)">/i', $html, $matches);
40 $encoding = strtoupper($matches[1][0]);
42 // Convert to UTF-8 from the original encoding
43 if (function_exists('mb_convert_encoding')) {
44 $title = @mb_convert_encoding($title, 'UTF-8', $encoding);
47 if (utf8_strlen($title) > 0) {
50 // No title, so return filename
51 $uriparts = explode('/', $url);
52 $filename = end($uriparts);
61 echo '<?xml version="1.0" encoding="utf-8"?>';
64 <method>getTitle</method>
65 <result><?php echo getTitle($_GET['url']); ?></result>