Я хочу получить метаданные url, такие как название, описание, ключевые слова и т. Д., И все предлагают curl - лучший способ получить то, что мне нужно, поэтому я использую curl.I использую именно этот код
<?php
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_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
@$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$html = file_get_contents_curl("http://example.com/");
$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('title');
$title = $nodes->item(0)->nodeValue;
$metas = $doc->getElementsByTagName('meta');
for ($i = 0; $i < $metas->length; $i++)
{
$meta = $metas->item($i);
if($meta->getAttribute('name') == 'Description')
$description = $meta->getAttribute('content');
if($meta->getAttribute('name') == 'Keywords')
$keywords = $meta->getAttribute('content');
}
echo "Title: $title". '
<br>
';
echo "Description: $description". '
<br>
';
echo "Keywords: $keywords";
?>
и когда я запускаю этот код, эта ошибка возникает
Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot
be activated when safe_mode is enabled or an open_basedir is set
Как решить эту ошибку, чтобы получить метатеги или есть лучший способ или библиотека, чтобы сделать это
php,curl,html-parsing,metadata,
Я хочу получить метаданные url, такие как название, описание, ключевые слова и т. Д., И все предлагают curl - лучший способ получить то, что мне нужно, поэтому я использую curl.I использую именно этот код
<?php
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_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
@$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$html = file_get_contents_curl("http://example.com/");
$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('title');
$title = $nodes->item(0)->nodeValue;
$metas = $doc->getElementsByTagName('meta');
for ($i = 0; $i < $metas->length; $i++)
{
$meta = $metas->item($i);
if($meta->getAttribute('name') == 'Description')
$description = $meta->getAttribute('content');
if($meta->getAttribute('name') == 'Keywords')
$keywords = $meta->getAttribute('content');
}
echo "Title: $title". '
<br>
';
echo "Description: $description". '
<br>
';
echo "Keywords: $keywords";
?>
и когда я запускаю этот код, эта ошибка возникает
Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot
be activated when safe_mode is enabled or an open_basedir is set
Как решить эту ошибку, чтобы получить метатеги или есть лучший способ или библиотека, чтобы сделать это
00PHP, локон, HTML-синтаксический, метаданные,