Я видел этот вопрос , но он не совсем соответствует тому, что я ищу. Ответы на этот вопрос были либо :подняты из тега метаописания, а вторым было создание выдержки из статьи, из которой у вас уже есть тело.
Что я хочу сделать, так это получить первые несколько предложений статьи , как это делает Readability. Какой не лучший метод для этого? Разбор HTML? Вот то, что я сейчас использую, но это не очень надежно.
function guessExcerpt($url) {
$html = file_get_contents_curl($url);
$doc = new DOMDocument();
@$doc->loadHTML($html);
$metas = $doc->getElementsByTagName('meta');
for ($i = 0; $i < $metas->length; $i++)
{
$meta = $metas->item($i);
if($meta->getAttribute('name') == 'description')
$description = $meta->getAttribute('content');
}
return $description;
}
function file_get_contents_curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}