Показать сообщение отдельно
Старый 16.02.2004, 13:01     # 6
Kirill Mezintsev
Junior Member
 
Регистрация: 30.03.2003
Адрес: В избушке на окраине Москвы
Сообщения: 109

Kirill Mezintsev Известность не заставит себя ждать
esergey

Вот работающая конструкция:
PHP код:
<?
    $fp 
fopen("http://site.ru/","r");
    
$content "";
    if (
$fp) {
    while (!
feof ($fp)) {
    
$content .= fgets ($fp102400);
    }
}
    
fclose($fp);

    
$titles ereg("<title>(.*)</title>",$content,$title);
    
$title_text $title[1];
    echo 
$title_text;
    echo 
"<br><br>";

    
$bodys ereg("<body leftmargin=\"4\" topmargin=\"4\" marginwidth=\"4\" marginheight=\"4\">(.*)</body>",$content,$body);
$body_text $body[1];

$search = array ("'<script[^>]*?>.*?</script>'si",  // Вырезается javascript
                 
"'<[\/\!]*?[^<>]*?>'si",           // Вырезаются html-тэги
                 
"'([\r\n])[\s]+'",                 // Вырезается пустое пространство
                 
"'&(quot|#34);'i",                 // Замещаются html-элементы
                 
"'&(amp|#38);'i",
                 
"'&(lt|#60);'i",
                 
"'&(gt|#62);'i",
                 
"'&(nbsp|#160);'i",
                 
"'&(iexcl|#161);'i",
                 
"'&(cent|#162);'i",
                 
"'&(pound|#163);'i",
                 
"'&(copy|#169);'i",
                 
"'&(reg|#174);'i",
                 
"'&(#8226);'i",
                 
"'&(#8212);'i",
                 
"'&(#8249);'i",
                 
"'&(#8250);'i",
                 
"'&#(\d+);'e");                    // вычисляется как php

$replace = array ("",
                  
"",
                  
" ",
                  
"\"",
                  
"&",
                  
"<",
                  
">",
                  
" ",
                  
chr(161),
                  
chr(162),
                  
chr(163),
                  
chr(169),
                  
chr(174),
                  
chr(149),
                  
chr(151),
                  
chr(139),
                  
chr(155),
                  
"chr(\\1)");

    
$text preg_replace ($search$replace$body_text);
    echo 
$text;

    echo 
"<br><br>";

$filename $_SERVER['PHP_SELF'];
// $filename = $_SERVER['SCRIPT_FILENAME'];
echo $filename;

?>
$fp = fopen("http://site.ru/","r"); //считывание сайта по инету
На самом деле открывается только один файл index.htm, по сайту скрипт не ходит и не пытается открывать другие файлы.

$filename = $_SERVER['PHP_SELF']; - выводит имя php-скрипта, а не открытый для обработки файл.

$filename = $_SERVER['SCRIPT_FILENAME']; - аналогично, только путь до имени скрипта включает ещё и вышестоящие директории.
__________________
Kirill

Последний раз редактировалось Kirill Mezintsev; 17.02.2004 в 11:22.
Kirill Mezintsev вне форума