[PHP] Function get_meta_tags() Helper

Description Of get_meta_tags

Source Description: PHP.NET

(PHP 4, PHP 5, PHP 7)

get_meta_tags — Extracts all meta tag content attributes from a file and returns an array

Description

array get_meta_tags ( string$filename [, bool $use_include_path = FALSE ] )

Opens filename and parses it line by line for <meta> tags in the file. The parsing stops at </head>.

Parameters

filename

The path to the HTML file, as a string. This can be a local file or an URL.

Example #1 What get_meta_tags()parses

<meta name="author" content="name">
<meta name="keywords" content="php documentation">
<meta name="DESCRIPTION" content="a php manual">
<meta name="geo.position" content="49.33;-86.59">
</head> <!-- parsing stops here -->

(pay attention to line endings – PHP uses a native function to parse the input, so a Mac file won’t work on Unix).

use_include_path

Setting use_include_path to TRUE will result in PHP trying to open the file along the standard include path as per the include_path directive. This is used for local files, not URLs.

Return Values

Returns an array with all the parsed meta tags.

The value of the name property becomes the key, the value of the content property becomes the value of the returned array, so you can easily use standard array functions to traverse it or access single values. Special characters in the value of the name property are substituted with ‘_’, the rest is converted to lower case. If two meta tags have the same name, only the last one is returned.

This function helper needs cURL or file_get_contents()
Click Here To Find Function Helper For file_get_contents() on PHP

Function helper for get_meta_tags();


function get_meta($val){
$tags = get_meta_tags($val);
return array('author' => $tags['author'], 'description' => $tags['description'], 'keywords' => $tags['keywords']);
}

function get_metas($url){
$html = get_contents($url); //Define your cURL functions

//parsing begins here:
$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('title');
//get and display what you need:
$title = $nodes->item(0)->nodeValue; //titles
$metas = $doc->getElementsByTagName('meta');
for ($i = 0; $i < $metas->length; $i++)
{
$meta = $metas->item($i);
if($meta->getAttribute('name') == 'author'){
$author = $meta->getAttribute('content');
}
if($meta->getAttribute('name') == 'description'){
$description = $meta->getAttribute('content');
}
if($meta->getAttribute('name') == 'keywords'){
$keywords = $meta->getAttribute('content');
}
}
return array('description' => $description, 'author' => $author, 'keywords' => $keywords);
}

Usage Function Helper For


$targeturl = "https://webmanajemen.xyz"; //target url to scraped

if (get_meta_tags($targeturl) == FALSE){
$meta = get_metas($targeturl);
} else {
$meta = get_meta($targeturl);
}

$getDesc = $meta['description'];
$getKey = $meta['keywords'];
$getAuthor = $meta['author'];

echo "<b>Description: </b>".$getDesc."<hr />";
echo "<b>Keywords: </b>".$getKey."<hr />";
echo "<b>Author: </b>".$getAuthor."<hr />";
Article By https://web-manajemen.blogspot.com

Comments

  1. Anonymous

    Helⅼo colleagues, іts enormous article cⲟncerning educationand entirely
    defined, кeep it uр all thе time.

  2. Anonymous

    Hello everyone, it's my first go to see at this site,
    and piece of writing is in fact fruitful in favor of me, keep up
    posting such articles.

  3. Anonymous

    Howdy just wanted to give you a brief heads up and let you know
    a few of the images aren't loading properly. I'm not sure why but I think
    its a linking issue. I've tried it in two different internet browsers and both show the same outcome.

  4. Anonymous

    My spouse and I absolutely love your blog and find many
    of your post's to be exactly I'm looking for. Do you offer guest writers to write content in your case?
    I wouldn't mind producing a post or elaborating on a lot of the subjects you write about here.
    Again, awesome site!

  5. Anonymous

    You're so interesting! I don't suppose I've read a single thing like that before.

    So good to find another person with unique thoughts on this topic.
    Seriously.. thanks for starting this up. This website is something that is required on the internet, someon with some originality!

  6. Anonymous

    Hey There. I found your blog using msn. This
    is a very well written article. I'll be sure to bookmark
    it and come back to read more of your useful info. Thanks for the post.
    I will certainly comeback.

  7. Anonymous

    Fastidious replies in return of this question with solid arguments and describing everything concerning that.

  8. Anonymous

    Thanks for the good writeup. It if truth be told was a amusement account it.

    Gllance advanced to more delivered agreeable
    from you! However, how could we keep in touch?

  9. Anonymous

    Yοu made some decent pointѕ tһere. I checked on thе internet for additional
    іnformation about the issue ɑnd fⲟund most pesople wilⅼ go alοng wіth your views on tһіs website.

  10. Anonymous

    Great site you have here.. It's difficult to find good quality writing like
    yours nowadays. I honestly appreciate people like you!
    Take care!!

  11. Anonymous

    I like the valuable info you provide in your articles.
    I will bookmark your blog and check again here frequently.
    I am quite sure I'll learn a lot of new stuff right here!
    Best of luck for the next!

  12. Anonymous

    Everything is very open with a very clear explanation of the challenges.
    It was definitely informative. Your website is very helpful.
    Thank you for sharing!

  13. Anonymous

    Good post. I learn something new and challenging on blogs I stumbleupon everyday.
    It will always be interesting to read through articles from other writers
    and practice something from their web sites.

  14. Anonymous

    What's up colleagues, its impressive piece of writing concerning cultureand completely defined, keep
    it up all the time.

Leave a Reply

Your email address will not be published. Required fields are marked *