[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://web-manajemen.blogspot.com"; //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 />";

Post a Comment

16 Comments

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

    ReplyDelete
  2. Marvelous, what а website it is! This blog gives useful data to us,
    keep it up.

    ReplyDelete
  3. 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.

    ReplyDelete
  4. 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?

    ReplyDelete
  5. 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.

    ReplyDelete
  6. 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.

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

    ReplyDelete
  8. 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.

    ReplyDelete
  9. 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!

    ReplyDelete
  10. This comment has been removed by a blog administrator.

    ReplyDelete
  11. This comment has been removed by a blog administrator.

    ReplyDelete
  12. This comment has been removed by a blog administrator.

    ReplyDelete
  13. 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.

    ReplyDelete
  14. 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!

    ReplyDelete
  15. 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!

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

    ReplyDelete

Bila Ada posting yang kurang, atau error atau yang lainnya, silahkan tinggalkan komentar agar artikel/post di perbaiki.
Jangan Lupa Cek Box "Notify Me" agar tahu komentar kamu dibalas oleh saya.

If there are any posts that are missing, or error or anything else, please leave a comment for the article / post to be fixed.
Do not Forget Check Box "Notify Me" to know our comments replied by me.