Файл: servises/validator/index.php
Строк: 77
<?
require'../../shaxty.php';
$align='left';
check_login();
$title='Учебник SQL';
include_once (H.'shaxty/head.php');
echo '<br />';
if(substr_count($_SERVER['HTTP_USER_AGENT'], 'MSIE'))
print '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<body>';
if(!$_GET['source'])
{
switch($_GET['go'])
{
default:
print 'XML Валидатор<br/>
<form action="?" method="get">
Адрес (без http://)<br/>
<input type="text" name="source" value=""/><br/>
<input type="submit" value="Проверить"/>
</form>
<a href="?go=faq">FAQ</a><br/>';
break;
case 'faq':
print '
-С помощью данного сервиса вы можете проверить свои страницы на соответствие XML стандартам.<br/>
-WML и xHTML страницы бязательно должны соответствовать стандартам XML. HTML не так требователен, однако лишним такое соответствие не будет.<br/>
<a href="index.php">Назад</a><br/>';
break;
}
}
else
{
$_GET['source'] = 'http://'.$_GET['source'];
$source = rawurldecode(trim($_GET['source']));
function validator($current)
{
global $time, $time, $lng;
$data = @fopen($current,'r');
if(!$data)
{return 'Не удалось проверить указанный адрес<br/>';}
ini_set('user_agent',$_SERVER['HTTP_USER_AGENT']);
$fl = file_get_contents($current);
$xml_parser = xml_parser_create();
if(!xml_parse($xml_parser, $fl, feof($data)))
{
$err = xml_error_string(xml_get_error_code($xml_parser));
$line = xml_get_current_line_number($xml_parser);
$column = xml_get_current_column_number($xml_parser);
xml_parser_free($xml_parser);
fclose($data);
return 'Error [Line '.$line.', Column '.$column.']: '.$err.'<br/></div>'.code($fl,$line);
}
else
{
xml_parser_free($xml_parser);
return 'Поздравляем! Документ Соответствует XML Правилам<br/>'.code($fl,0);
}
}
function url_highlight($fl)
{return '<code>'.nl2br(preg_replace("~("|')[^<>]*("|')~iU",'<span style="color:#DD0000">\0</span>',preg_replace("~<!--.*-->~iU",'<span style="color:#FF8000">\0</span>',preg_replace("~(<[^s!]*s)([^<>]*)([/?]?>)~iU",'\1<span style="color:#007700">\2</span>\3',preg_replace("~<[^<>]*>~iU",'<span style="color:#0000BB">\0</span>',htmlspecialchars($fl,ENT_QUOTES)))))).'</code>';}
function code($fl,$line)
{
if(substr_count($fl,"r") > 2)
{$arr = preg_split("r",url_highlight(str_replace("n",null,$fl)));}
else
{$arr = preg_split("n",url_highlight($fl));}
$end = sizeof($arr);
for($i=0; $i<$end; $i++)
{
if($i == ($line-1))
{$page.= '<span class="fail_code"> '.($i+1).' </span> '.$arr[$i];}
else
{$page.= '<span class="true_code">'.($i+1).'</span> '.$arr[$i];}
}
return '<br/>'.$page.'<br/>';
}
print validator($source);
}
echo '<br />';
echo $div1.'<a href="/servises/">Сервисы</a>'.$div9;
include_once (H.'shaxty/foot.php');
?>