Как я могу получить содержимое тега <title>на странице, если его нельзя проанализировать как XML? - PullRequest
4 голосов
/ 28 июня 2010

Я использую PHP libcurl для загрузки страницы. Теперь мне нужно получить содержимое тега этой страницы, а также некоторую другую информацию. Я попытался разобрать его с помощью SimpleXML, но безуспешно, потому что страница не является допустимым XML. Можете ли вы предложить другой способ легко получить содержимое тега ? Спасибо.

Ответы [ 4 ]

3 голосов
/ 28 июня 2010

Вы можете использовать DOMDocument :: loadHTML .

Это будет повторять "Заголовок":

<?php

$doc = <<<HTML
<html>
<head>
<title>The title</title>
<body>
hhhhhh
HTML;

libxml_use_internal_errors(true);
$d = new DOMDocument;
$d->loadHTML($doc);
$ts = $d->getElementsByTagName("title");
if ($ts->length > 0) {
    echo $ts->item(0)->textContent;
}
1 голос
/ 28 июня 2010

Или вы можете использовать Простой HTML DOM

0 голосов
/ 29 июня 2010

Попробуйте использовать консоль YQL от Yahoo.Вы можете запросить практически любой URL, а затем запросить результаты обратно в XML.Вы можете даже добавить xpath, чтобы сузить его.

http://developer.yahoo.com/yql/console/

Возможно, вы можете позвонить в эту службу, используя curl.Это очень удобно.

0 голосов
/ 28 июня 2010

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

# Script Title.txt
var str page, content
cat $page > $content
stex -r -c "^<title&</title&\>^" $content

Сохраните этот маленький код в файле C: /Scripts/Title.txt.Код в битрейскрипте.Запустите biterscripting и введите эту команду.

script "C:/Scripts/Title.txt" page("/2924041/kak-ya-mogu-poluchit-soderzhimoe-tega-title-na-stranitse-esli-ego-nelzya-proanalizirovat-kak-xml")

Она получит заголовок этой страницы (той, которую вы просматриваете).Используйте любой другой URL или локальный путь к файлу в качестве значения page ().Используйте двойные кавычки.Когда я выполнил эту команду, я получил

Как я могу получить содержимое тега страницы, если оно не может быть проанализировано как XML?- Переполнение стека

Вы можете вызвать этот скрипт из любого исполняемого или пакетного файла.

...