Как читать заголовок раздела веб-страницы? - PullRequest
2 голосов
/ 19 сентября 2009

На моей веб-странице, когда пользователь вводит URL-адрес в текстовое поле, я хочу получить некоторую информацию об этой странице, такую ​​как заголовок или ссылку.

Есть ли способ сделать это? На клиенте (JavaScript) или на сервере (PHP)? И как?

Ответы [ 4 ]

3 голосов
/ 19 сентября 2009

Вы не можете сделать это через Javascript, если страница не находится в вашем домене. Это связано с тем, что межсерверные скрипты ограничены.

Но вы можете использовать PHP (проверьте функцию file_get_contents()), проанализировать содержимое тега <head> с помощью simpledom и затем передать его в запрос ajax.

2 голосов
/ 19 сентября 2009

На сервере:

нужно симпедом

    include("simpledom.php");
    $html = file_get_html('http://www.google.com/');
    echo $html->find('head')->outertext; // returns <head>...</head>
0 голосов
/ 19 сентября 2009

Итак, на вашей странице есть текстовое поле ввода, и когда ваш пользователь вводит ссылку, вы хотите получить информацию о ней?

Это может быть полезно:

http://www.bin -co.com / PHP / скрипты / загрузки /

Согласно той странице, которая выдаст что-то вроде этого:

Array
(
    [headers] => Array
        (
            [Date] => Mon, 18 Jun 2007 13:56:22 GMT
            [Server] => Apache/2.0.54 (Unix) PHP/4.4.7 mod_ssl/2.0.54 OpenSSL/0.9.7e mod_fastcgi/2.4.2 DAV/2 SVN/1.4.2
            [X-Powered-By] => PHP/5.2.2
            [Expires] => Thu, 19 Nov 1981 08:52:00 GMT
            [Cache-Control] => no-store, no-cache, must-revalidate, post-check=0, pre-check=0
            [Pragma] => no-cache
            [Set-Cookie] => PHPSESSID=85g9n1i320ao08kp5tmmneohm1; path=/
            [Last-Modified] => Tue, 30 Nov 1999 00:00:00 GMT
            [Vary] => Accept-Encoding
            [Transfer-Encoding] => chunked
            [Content-Type] => text/xml
        )
    [body] => ... Contents of the Page ...
    [info] => Array
        (
            [url] => http://www.bin-co.com/rss.xml.php?section=2
            [content_type] => text/xml
            [http_code] => 200
            [header_size] => 501
            [request_size] => 146
            [filetime] => -1
            [ssl_verify_result] => 0
            [redirect_count] => 0
            [total_time] => 1.113792
            [namelookup_time] => 0.180019
            [connect_time] => 0.467973
            [pretransfer_time] => 0.468035
            [size_upload] => 0
            [size_download] => 2274
            [speed_download] => 2041
            [speed_upload] => 0
            [download_content_length] => 0
            [upload_content_length] => 0
            [starttransfer_time] => 0.826031
            [redirect_time] => 0
        )

)

0 голосов
/ 19 сентября 2009

В php вы можете открывать URL-адреса, такие как файлы, т.е.

$f = fopen ("http://www.site/page.htm", r);

Если вы хотите использовать реальный DOM, используйте Simpledom или другой модуль.

Edit: Вы, вероятно, можете игнорировать предложение fopen () выше, по какой-то причине я думал, что вы спрашиваете только о чтении сайтов, над которыми у вас есть полный контроль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...