Microformats Parser (PHP) v0.5.0
HTML
<!DOCTYPE html><html lang="en"><head><title>Test Event at Magnolia's Corner - Upcoming</title><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><!-- facebook open graph tags --> <meta property="og:type" content="website" /> <meta property="og:url" content="https://upcoming.org/event/test-event-qr4tkf8q54" /> <meta property="og:title" content="Test Event at Magnolia's Corner" /> <meta property="og:description" content="Test!" /> <meta property="og:image" content="https://upcoming.org/images/favicon-96x96.png" /> <!-- twitter card tags additive with the og: tags --> <meta name="twitter:domain" value="upcoming.org" /> <meta name="twitter:title" value="Test Event" /> <meta name="twitter:description" value="Test!" /> <meta name="twitter:image" content="https://upcoming.org/images/apple-touch-icon-114x114.png" /> <meta name="twitter:url" value="https://upcoming.org/event/test-event-qr4tkf8q54" /> <meta name="twitter:label1" value="When" /> <meta name="twitter:data1" value="April 4 - 5, 2017" /> <meta name="twitter:label2" value="Where" /> <meta name="twitter:data2" value="Magnolia's Corner, 4075 NE Sandy Blvd, Portland, OR" /> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"><link rel="stylesheet" type="text/css" href="/css/style.css"><script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script><script src="/js/global.js"></script><script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script><script src="//use.typekit.net/tqk1fsd.js"></script><script>try{Typekit.load({ async: true });}catch(e){} </script><script src="/js/watchlists.js"></script><!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries--><!-- WARNING: Respond.js doesn't work if you view the page via file://--><!--if lt IE 9--><script src="//oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//oss.maxcdn.com/respond/1.4.2/respond.min.js"></script><link rel="apple-touch-icon" sizes="57x57" href="/images/apple-touch-icon-57x57.png"><link rel="apple-touch-icon" sizes="60x60" href="/images/apple-touch-icon-60x60.png"><link rel="apple-touch-icon" sizes="72x72" href="/images/apple-touch-icon-72x72.png"><link rel="apple-touch-icon" sizes="76x76" href="/images/apple-touch-icon-76x76.png"><link rel="apple-touch-icon" sizes="114x114" href="/images/apple-touch-icon-114x114.png"><link rel="apple-touch-icon" sizes="120x120" href="/images/apple-touch-icon-120x120.png"><link rel="apple-touch-icon" sizes="144x144" href="/images/apple-touch-icon-144x144.png"><link rel="apple-touch-icon" sizes="152x152" href="/images/apple-touch-icon-152x152.png"><link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-180x180.png"><link rel="icon" type="image/png" href="/images/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/images/android-chrome-192x192.png" sizes="192x192"><link rel="icon" type="image/png" href="/images/favicon-96x96.png" sizes="96x96"><link rel="icon" type="image/png" href="/images/favicon-16x16.png" sizes="16x16"><link rel="manifest" href="/images/manifest.json"><link rel="shortcut icon" href="/images/favicon.ico"><meta name="msapplication-TileColor" content="#b91d47"><meta name="msapplication-TileImage" content="/images/mstile-144x144.png"><meta name="msapplication-config" content="/images/browserconfig.xml"><meta name="theme-color" content="#ffffff"><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-866594-7', 'auto'); ga('send', 'pageview'); </script></head><body><header><nav role="navigation" class="navbar navbar-default navbar-static-top"><div class="container-fluid"><div class="navbar-header pull-left"><a href="/" class="navbar-brand"><img alt="Upcoming" src="/images/logo.png"></a><ul class="nav navbar-nav hidden-xs"><li><a href="/" class="navbar-link">Explore</a></li><li><a href="/place" class="navbar-link">Places</a></li></ul></div><div class="navbar-header pull-right"><ul class="nav navbar-nav navbar-right"><li><a href="/event/add" class="navbar-link"><span aria-hidden="true" class="glyphicon glyphicon-plus"></span> Add</a></li><li><a href="#" data-toggle="dropdown" role="button" style="padding: 10px 20px 10px 20px" class="dropdown-toggle"><img alt="" src="http://pbs.twimg.com/profile_images/775755455188512768/CA3YxGa4_normal.jpg" width="30" height="30" class="img-rounded"><span class="caret"></span></a><ul role="menu" class="dropdown-menu"><li role="presentation"><Aaron Parecki></Aaron Parecki></li><li role="presentation"><a href="/@aaronpk" role="menuitem">Your Profile</a></li><li role="presentation"><a href="/following" role="menuitem">Following</a></li><li role="presentation"><a href="/logout" role="menuitem">Logout</a></li></ul></li></ul></div></div></nav></header></body><div id="container" class="container-fluid"><div class="h-event"><div class="col-xs-12 col-sm-8 col-md-8"> <h2 class="p-name">Test Event<small><a href="/event/test-event-qr4tkf8q54/edit">π Edit</a></small></h2><h4>April 4 - 5, 2017</h4><time datetime="2017-04-04" class="hidden dt-start"></time><time datetime="2017-04-05" class="hidden dt-end"></time><div class="venue p-location h-card"><div class="venue-name"><a href="/venue/magnolias-corner-h6rd5ovt8a" class="p-name u-url">Magnolia's Corner</a></div><div class="venue-address"><span class="address p-street-address">4075 NE Sandy Blvd</span><br><span class="locality"><a href="/place/portland-5"><span class="p-locality">Portland</span>, <span class="p-region">Oregon</span></a></span></div></div><div><div class="list-recommend p-author h-card"><img alt="" src="undefined" style="float: left; margin-right: 10px; width: 48px; height: 48px;" class="img-rounded"><h4><a href="/@aaronpk" class="p-name u-url">Aaron Parecki</a><small> @aaronpk</small></h4></div><div class="recommend-quote"><p>Test!</p> <p><a href="http://example.com/" class="u-url">http://example.com/</a></p></div><div class="recommend-action"> <form action="/watchlist" method="post" class="watchlist"><div class="form-group"><input type="hidden" name="event_id" value="qr4tkf8q54" class="event_id"><div data-toggle="buttons" role="group" class="btn-group"><label class="btn btn-default active"><input type="checkbox" name="status" value="attend" checked class="status">π I'm Going</label><label class="btn btn-default"><input type="checkbox" name="status" value="watch" class="status">π Recommend</label></div></div></form></div></div></div><div class="col-xs-12 col-sm-4 col-md-4"><h4>Attending </h4><div class="watchlist p-attendee h-card"><a href="/@aaronpk" class="p-name u-url">Aaron Parecki</a> <small class="p-nickname">@aaronpk</small></div><h4>Recommend </h4><div class="watchlist u-like h-card"><a href="/@spampk" class="p-name u-url">spampk</a> <small class="p-nickname">@spampk</small></div></div><div class="col-xs-12 col-sm-8 col-md-8"><h3>Comments</h3><div id="comment-1" class="p-comment h-entry"><img alt="" src="undefined" style="float: left; margin-right: 10px; width: 48px; height: 48px;"><div style="margin-left: 60px" class="comment"><h4 class="p-author h-card"><a href="/@aaronpk" class="p-name u-url">Aaron Parecki</a> <small class="p-nickname">@aaronpk</small></h4><div class="e-content p-name"><p><p>Hereβs a comment</p> </p></div><a href="#comment-1" class="hidden u-url"><time datetime="2017-04-04T08:58:29-07:00" class="dt-published"></time></a></div></div><div id="comment-2" class="p-comment h-entry"><img alt="" src="undefined" style="float: left; margin-right: 10px; width: 48px; height: 48px;"><div style="margin-left: 60px" class="comment"><h4 class="p-author h-card"><a href="/@aaronpk" class="p-name u-url">Aaron Parecki</a> <small class="p-nickname">@aaronpk</small></h4><div class="e-content p-name"><p><p>Commenty</p> </p></div><a href="#comment-2" class="hidden u-url"><time datetime="2017-04-05T07:47:08-07:00" class="dt-published"></time></a></div></div><form name="comment" action="/comment" method="post"><div class="form-group"><textarea name="comment_text" cols="40" rows="5" class="form-control"></textarea><input type="hidden" name="event_id" value="qr4tkf8q54"><button type="submit" class="btn btn-default">Add Comment</button></div></form></div></div></div><footer class="footer"><ul><li><a href="/about">π€ About</a></li><li><a href="/terms">βοΈ Terms</a></li><li><a href="/privacy">π΅οΈ Privacy</a></li><li><a href="https://twitter.com/upcomingorg">π¦ Twitter</a></li></ul></footer></html>
Base URL
Save HTML?
(Note: Data older than 72 hours may be purged)
Render HTML in page?
JSON
{ "items": [ { "type": [ "h-event" ], "properties": { "name": [ "Test Event\ud83d\udcdd Edit" ], "url": [ "http://example.com/" ], "start": [ "2017-04-04" ], "end": [ "2017-04-05" ], "location": [ { "type": [ "h-card" ], "properties": { "name": [ "Magnolia's Corner" ], "street-address": [ "4075 NE Sandy Blvd" ], "locality": [ "Portland" ], "region": [ "Oregon" ], "url": [ "http://127.0.0.1:3000/venue/magnolias-corner-h6rd5ovt8a" ] }, "lang": "en", "value": "Magnolia's Corner" } ], "author": [ { "type": [ "h-card" ], "properties": { "name": [ "Aaron Parecki" ], "url": [ "http://127.0.0.1:3000/@aaronpk" ] }, "lang": "en", "value": "Aaron Parecki" } ], "attendee": [ { "type": [ "h-card" ], "properties": { "name": [ "Aaron Parecki" ], "nickname": [ "@aaronpk" ], "url": [ "http://127.0.0.1:3000/@aaronpk" ] }, "lang": "en", "value": "Aaron Parecki" } ], "like": [ { "type": [ "h-card" ], "properties": { "name": [ "spampk" ], "nickname": [ "@spampk" ], "url": [ "http://127.0.0.1:3000/@spampk" ] }, "lang": "en", "value": "http://127.0.0.1:3000/@spampk" } ], "comment": [ { "type": [ "h-entry" ], "properties": { "name": [ "Here\u2019s a comment" ], "url": [ "http://127.0.0.1:3000/event/qr4tkf8q54#comment-1" ], "published": [ "2017-04-04T08:58:29-07:00" ], "content": [ { "html": "<p></p><p>Here’s a comment</p>", "value": "Here\u2019s a comment", "lang": "en" } ], "author": [ { "type": [ "h-card" ], "properties": { "name": [ "Aaron Parecki" ], "nickname": [ "@aaronpk" ], "url": [ "http://127.0.0.1:3000/@aaronpk" ] }, "lang": "en", "value": "Aaron Parecki" } ] }, "id": "comment-1", "lang": "en", "value": "Here\u2019s a comment" }, { "type": [ "h-entry" ], "properties": { "name": [ "Commenty" ], "url": [ "http://127.0.0.1:3000/event/qr4tkf8q54#comment-2" ], "published": [ "2017-04-05T07:47:08-07:00" ], "content": [ { "html": "<p></p><p>Commenty</p>", "value": "Commenty", "lang": "en" } ], "author": [ { "type": [ "h-card" ], "properties": { "name": [ "Aaron Parecki" ], "nickname": [ "@aaronpk" ], "url": [ "http://127.0.0.1:3000/@aaronpk" ] }, "lang": "en", "value": "Aaron Parecki" } ] }, "id": "comment-2", "lang": "en", "value": "Commenty" } ] }, "lang": "en" } ], "rels": { "stylesheet": [ "http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css", "http://127.0.0.1:3000/css/style.css" ], "apple-touch-icon": [ "http://127.0.0.1:3000/images/apple-touch-icon-57x57.png", "http://127.0.0.1:3000/images/apple-touch-icon-60x60.png", "http://127.0.0.1:3000/images/apple-touch-icon-72x72.png", "http://127.0.0.1:3000/images/apple-touch-icon-76x76.png", "http://127.0.0.1:3000/images/apple-touch-icon-114x114.png", "http://127.0.0.1:3000/images/apple-touch-icon-120x120.png", "http://127.0.0.1:3000/images/apple-touch-icon-144x144.png", "http://127.0.0.1:3000/images/apple-touch-icon-152x152.png", "http://127.0.0.1:3000/images/apple-touch-icon-180x180.png" ], "icon": [ "http://127.0.0.1:3000/images/favicon-32x32.png", "http://127.0.0.1:3000/images/android-chrome-192x192.png", "http://127.0.0.1:3000/images/favicon-96x96.png", "http://127.0.0.1:3000/images/favicon-16x16.png", "http://127.0.0.1:3000/images/favicon.ico" ], "manifest": [ "http://127.0.0.1:3000/images/manifest.json" ], "shortcut": [ "http://127.0.0.1:3000/images/favicon.ico" ] }, "rel-urls": { "http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css": { "rels": [ "stylesheet" ] }, "http://127.0.0.1:3000/css/style.css": { "type": "text/css", "rels": [ "stylesheet" ] }, "http://127.0.0.1:3000/images/apple-touch-icon-57x57.png": { "rels": [ "apple-touch-icon" ] }, "http://127.0.0.1:3000/images/apple-touch-icon-60x60.png": { "rels": [ "apple-touch-icon" ] }, "http://127.0.0.1:3000/images/apple-touch-icon-72x72.png": { "rels": [ "apple-touch-icon" ] }, "http://127.0.0.1:3000/images/apple-touch-icon-76x76.png": { "rels": [ "apple-touch-icon" ] }, "http://127.0.0.1:3000/images/apple-touch-icon-114x114.png": { "rels": [ "apple-touch-icon" ] }, "http://127.0.0.1:3000/images/apple-touch-icon-120x120.png": { "rels": [ "apple-touch-icon" ] }, "http://127.0.0.1:3000/images/apple-touch-icon-144x144.png": { "rels": [ "apple-touch-icon" ] }, "http://127.0.0.1:3000/images/apple-touch-icon-152x152.png": { "rels": [ "apple-touch-icon" ] }, "http://127.0.0.1:3000/images/apple-touch-icon-180x180.png": { "rels": [ "apple-touch-icon" ] }, "http://127.0.0.1:3000/images/favicon-32x32.png": { "type": "image/png", "rels": [ "icon" ] }, "http://127.0.0.1:3000/images/android-chrome-192x192.png": { "type": "image/png", "rels": [ "icon" ] }, "http://127.0.0.1:3000/images/favicon-96x96.png": { "type": "image/png", "rels": [ "icon" ] }, "http://127.0.0.1:3000/images/favicon-16x16.png": { "type": "image/png", "rels": [ "icon" ] }, "http://127.0.0.1:3000/images/manifest.json": { "rels": [ "manifest" ] }, "http://127.0.0.1:3000/images/favicon.ico": { "rels": [ "icon", "shortcut" ] } }, "debug": { "package": "https://packagist.org/packages/mf2/mf2", "source": "https://github.com/indieweb/php-mf2", "version": "v0.5.0", "note": [ "This output was generated from the php-mf2 library available at https://github.com/indieweb/php-mf2", "Please file any issues with the parser at https://github.com/indieweb/php-mf2/issues", "Using the Masterminds HTML5 parser" ] } }
Parse