diff --git a/MetaParser.class.php b/MetaParser.class.php index 0656b5e..2c11b38 100644 --- a/MetaParser.class.php +++ b/MetaParser.class.php @@ -406,7 +406,31 @@ protected function _parseOpenGraphKeys() preg_match_all('/([\'|"]{1})og:([a-zA-Z0-9\-:_]{1,25})\1/', $this->_body, $keys); return array_pop($keys); } + + /** + * _parseTwitterCard + * + * @access protected + * @return array + */ + protected function _parseTwitterCard() + { + preg_match_all('/([\'|"]{1})twitter:([a-zA-Z0-9\-:_]{1,25})\1/', $this->_body, $keys); + return array_pop($keys); + } + /** + * _parseFacebookCard + * + * @access protected + * @return array + */ + protected function _parseFacebookCard() + { + preg_match_all('/([\'|"]{1})fb:([a-zA-Z0-9\-:_]{1,25})\1/', $this->_body, $keys); + return array_pop($keys); + } + /** * _parseTitle * @@ -516,6 +540,8 @@ public function getDetails() ), 'images' => $this->getImages(), 'openGraph' => $this->getOpenGraph(), + 'twitterCard' => $this->getTwitterCard(), + 'facebookCard' => $this->getFacebookCard(), 'title' => $this->getTitle(), 'url' => $this->getUrl() ); @@ -606,6 +632,40 @@ public function getOpenGraph() } return $graph; } + + /** + * getTwitterCard + * + * @access public + * @return array + */ + public function getTwitterCard() + { + $card = array(); + $keys = $this->_parseTwitterCard(); + foreach ($keys as $key) { + $card[$key] = $this->_parseMetaTag('twitter:' . ($key), 'property'); + } + + return $card; + } + + /** + * getFacebookCard + * + * @access public + * @return array + */ + public function getFacebookCard() + { + $card = array(); + $keys = $this->_parseFacebookCard(); + foreach ($keys as $key) { + $card[$key] = $this->_parseMetaTag('fb:' . ($key), 'property'); + } + + return $card; + } /** * getTitle