Показать сообщение отдельно
Старый 16.02.2004, 14: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 ($fp, 102400);
    }
}
    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 в 12:22.
Kirill Mezintsev вне форума