Это должно делать конкретно с картами Twitter, но я ищу более общее (т.е. не специфическое решение для карт Twitter), так как многие мета -теги имеют имена. Что -то вроде ... < /p>
Код: Выделить всё
Код: Выделить всё
[
... bunch of other meta tags ...
"twitter:card" : "... tag content ...",
"twitter:description" : "... tag content ...",
"twitter:title" : "... tag content ...",
"twitter:site" : "... tag content ...",
"twitter:image" : "... tag content ...",
"twitter:creator" : "... tag content ...",
... maybe some more tags ...
]
Даже если на странице присутствуют теги карты Twitter, а не все теги, указанные выше, обязательно будут. Иногда это все, иногда это всего лишь пара.
Код: Выделить всё
$tagsList = @get_meta_tags($url);
Код: Выделить всё
if(isset($tagsList['twitter:card'])) {
// Do something
}
if(isset($tagsList['twitter:description'])) {
// Do something
}
... and so on ...
Код: Выделить всё
$twitterList = array();
foreach($tagsList as $tagName => $tagCont) {
if(strpos(strtolower($tagName), 'twitter:') === 0) {
// root = 'twitter', sub = 'card' or 'description' or ...
list($root, $sub) = explode(':', $tagName);
$twitterList[] = array(
'root' => $root, // Don't really need this
'sub' => $sub,
'content' => $tagCont
);
}
}
< /code>
И это работает. Это точно и возвращает ваши теги в Твиттере в хорошем списке. Но если мне нужны только теги, относящиеся к карточке Twitter, какого черта мне нужно заняться, пробегая все из них! Я заинтересован только в Twitter: Что -то вроде ...
Код: Выделить всё
$twitterTags = $tagsList['twitter:'];
< /code>
, где вывод был бы в соответствии с ... < /p>
$twitterTags : [
'card' : 'card content',
'description' : 'desc content',
... and so on ...
]
Подробнее здесь: https://stackoverflow.com/questions/468 ... ut-looping
Мобильная версия