سلام قسمت دوم سوال رو میشه کمکم کنید
من چندتا کد ساختم با این کدی که دادم بهتون ولی همشون گیر میکنن مثلا یکیشون کلا دیگه احرا کد تموم نمیشه توی چندتاشون حطای میزنه که تایتل وجود نداره و ... وجود نداره متغیرش رو نداری
مثلا کد:
<?php
$url=$_GET["url"];
function getta($url) {
// Extract HTML using curl
$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, 1);
$data = curl_exec($ch);
curl_close($ch);
// Load HTML to DOM Object
$dom = new DOMDocument();
@$dom->loadHTML($data);
// Parse DOM to get Title
$nodes = $dom->getElementsByTagName('title');
$title = $nodes->item(0)->nodeValue;
// Parse DOM to get Meta Description
$metas = $dom->getElementsByTagName('meta');
$body = "";
for ($i = 0; $i < $metas->length; $i ++) {
$meta = $metas->item($i);
if ($meta->getAttribute('name') == 'description') {
$body = $meta->getAttribute('content');
}
}
/// keword
// $metas = $dom->getElementsByTagName('meta');
// $kew = "";
// for ($i = 0; $i < $metas->length; $i ++) {
$kewta = $metas->item($i);
if ($kewta->getAttribute('name') == 'keywords') {
$kew = $kewta->getAttribute('content');
}
// }
///////////
// $metas = $dom->getElementsByTagName('meta');
// $smap = "";
// for ($i = 0; $i < $metas->length; $i ++) {
$mapta = $metas->item($i);
if ($mapta->getAttribute('name') == 'sitemap') {
$smap = $mapta->getAttribute('content');
}
// }
///////////
// $metas = $dom->getElementsByTagName('meta');
// $ico = "";
// for ($i = 0; $i < $metas->length; $i ++) {
$icta = $metas->item($i);
if ($icta->getAttribute('name') == 'favicon') {
$ico = $icta->getAttribute('content');
}
// }
///////////
///////////
/// keword
//// sitemap
//// sitemap
// Parse DOM to get Images
$image_urls = array();
$images = $dom->getElementsByTagName('img');
for ($i = 0; $i < $images->length; $i ++) {
$image = $images->item($i);
$src = $image->getAttribute('src');
if(filter_var($src, FILTER_VALIDATE_URL)) {
$image_urls = $src;
// echo $src;
}
}
//// link exetra
$xpath = new DOMXPath($dom);
$link_urls = array();
$hrefs = $xpath->evaluate("/html/body//a");
//echo $hrefs;
for ($i = 0; $i < $hrefs->length; $i ++) {
$href = $hrefs->item($i);
$url = $href->getAttribute('href');
$url = filter_var($url, FILTER_SANITIZE_URL);
// validate url
if(!filter_var($url, FILTER_VALIDATE_URL) === false){
$link=$url;
echo $link;
}
}
//// link extra
$output = array(
'title' => $title,
'src' => $src,
'body' => $body,
'kew' => $kew,
'link' => $url,
'ico' => $ico,
'smap' => $smap
);
return $output;
}
echo "<pre>";
print_r(getta($url));
echo "<hr>";
echo $title;
echo "<hr>";
echo $link;
echo "<hr>";
echo $src;
echo "<hr>";
//$tit=($output[title]);
// echo json_encode($output);
echo "<pre>";
echo "<br>";
echo $title;
echo "<br>";
echo $link;
echo "<hr>";
echo "<hr>";
echo $url;
print_r($src);
echo "<hr>";
echo "<hr>";
echo $src;
echo "<br>";
echo $body;
echo "<br>";
خطا میده میگه
Fatal error: Call to a member function getAttribute() on a non-object in D:\0000000111\htdocs\cod\cod\00\get2.php on line 38