Вывод содержимое Мета Тегов

lena1

クリエイター
LV
0
 
<b>Задача стоит так</b>: скачать страницу html из интернета и вывести все Мета Теги, которые на ней есть. Для этого составим небольшое регулярное выражение и сделаем небольшой скрипт.

You must be registered for see images attach


<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><?php
if ( isset ($_GET) ) { foreach ( $_GET as $key=>$val ) { $$key = $val; } }
if ( isset ($_POST) ) { foreach ( $_POST as $key=>$val ) { $$key = $val; } }

&nbsp;&nbsp;&nbsp;&nbsp;// дополнительная функция, удаляющая плохие символы
function _Replace ($path){
$path = trim ( preg_replace ("/[Л†\x20-\xFF]/","", strval ($path) ) );
$path = str_replace ('<', '<', $path);
$path = str_replace ('>', '>', $path);
return preg_replace ("~[ ]+~s"," ", $path);
}

&nbsp;&nbsp;&nbsp;&nbsp;// основная функция Мета тега
function Meta_Teg ( $path, $content ){
$search = "~<meta[Л†>]*[Л†=]*=[ '\"\n\r\t]*" .
preg_quote ( $path ,"~" ) .
"[ '\"\n\r\t]*content[Л†=]*=[ '\"\n\r\t]*" .
"([Л†\"'>\r\n\t#]+)[Л†>]*>~si";
if ( preg_match ( $search, $content, $array ) ) { return _Replace ( $array[1] ); }
return "Не смог определить";
}

&nbsp;&nbsp;&nbsp;&nbsp;// если пользователь только пришёл, говорим: "Введи имя страницы"
if (!$meta_infa){
print "<p>Введите адрес, который Вы хотите проверить.</p>\n";
}
else {
$content = implode ( "", file ( $meta_infa ));
if ($content == ''){
print "<p>Не смог открыть: ".$meta_infa."</p>\n";
}
else {
if ( preg_match ("~<(title)[Л†>]*>(.*)</\\1[Л†>]*>~isU" , $content,$arr ) ){ $_Title = _Replace ( $arr[2] ); }
else { $_Title = "Страница без названия"; }
$_Strlen = strlen ($content);
$_Type = Meta_Teg ('Content-Type', $content);
$_Author = Meta_Teg ('Author', $content);
$_Keywords = Meta_Teg ('Keywords', $content);
$_Description = Meta_Teg ('Description', $content);
$_Cache = Meta_Teg ('Cache-Control', $content);
$_Pragma = Meta_Teg ('Pragma', $content);
$_Modified = Meta_Teg ('Last-Modified', $content);
$_Expires = Meta_Teg ('Expires', $content);

print "
<table border='0' width='100%' cellpadding='10' cellspacing='1'>
<tr>
<td colspan='2'>".$meta_infa."</td></tr>
<tr><td>Название документа</td><td>".$_Title."</td></tr>
<tr><td>Размер в байтах</td><td>".$_Strlen."</td></tr>
<tr><td>Тип документа</td><td>".$_Type."</td></tr>
<tr><td>Автор</td><td>".$_Author."</td></tr>
<tr><td>Keywords</td><td>".$_Keywords."</td></tr>
<tr><td>Description</td><td>".$_Description."</td></tr>
<tr><td>Cache-Control</td><td>".$_Cache."</td></tr>
<tr><td>Pragma</td><td>".$_Pragma."</td></tr>
<tr><td>Последняя модификация</td><td>".$_Modified."</td></tr>
<tr><td>Будущее изменение</td><td>".$_Expires."</td></tr>
</table></td></tr>
</table>";
}
}

print " <br><br>
<form ACTION='" . basename ($_SERVER['PHP_SELF']) . "?act=meta_teg' METHOD='POST'>
<b>Проверить Мета теги:</b>
<input class='dats' type='text' name='meta_infa' size='25' value='http://'>
<input class='submit' type='submit' value='проверить'>
</form> <p> </p>
";

?><!--c2--></div><!--ec2-->

<b>Скачать скрипт:</b> :soft:
You must be registered for see images attach
 
Сверху