使用PHP简单HTML DOM解析器获取视频url和图像
所以我喜欢使用PHP简单HTML DOM解析器获取vine图像url和视频url 下面是一个示例 所以我需要从URL获取这些信息。表单图像URL:使用PHP简单HTML DOM解析器获取视频url和图像,php,php-5.3,simple-html-dom,Php,Php 5.3,Simple Html Dom,所以我喜欢使用PHP简单HTML DOM解析器获取vine图像url和视频url 下面是一个示例 所以我需要从URL获取这些信息。表单图像URL: <meta property="twitter:image" content="https://v.cdn.vine.co/v/thumbs/8B474922-0D0E-49AD-B237-6ED46CE85E8A-118-000000FFCD48A9C5_1.0.6.mp4.jpg?versionId=mpa1lJy2aylTIEljLG
<meta property="twitter:image" content="https://v.cdn.vine.co/v/thumbs/8B474922-0D0E-49AD-B237-6ED46CE85E8A-118-000000FFCD48A9C5_1.0.6.mp4.jpg?versionId=mpa1lJy2aylTIEljLGX63RFgpSR5KYNg">
和视频网址
<meta property="twitter:player:stream" content="https://v.cdn.vine.co/v/videos/8B474922-0D0E-49AD-B237-6ED46CE85E8A-118-000000FFCD48A9C5_1.0.6.mp4?versionId=ul2ljhBV28TB1dUvAWKgc6VH0fmv8QCP">
我只想获取这些元标记的内容。如果有人能帮忙,我真的很感激。谢谢你,在本例中我使用的是原生PHPDOM,而不是使用你指出的lib,它应该可以工作 下面是我为类似的东西创建的一个小类:
<?php
class DomFinder {
function __construct($page) {
$html = @file_get_contents($page);
$doc = new DOMDocument();
$this->xpath = null;
if ($html) {
$doc->preserveWhiteSpace = true;
$doc->resolveExternals = true;
@$doc->loadHTML($html);
$this->xpath = new DOMXPath($doc);
$this->xpath->registerNamespace("html", "http://www.w3.org/1999/xhtml");
}
}
function find($criteria = NULL, $getAttr = FALSE) {
if ($criteria && $this->xpath) {
$entries = $this->xpath->query($criteria);
$results = array();
foreach ($entries as $entry) {
if (!$getAttr) {
$results[] = $entry->nodeValue;
} else {
$results[] = $entry->getAttribute($getAttr);
}
}
return $results;
}
return NULL;
}
function count($criteria = NULL) {
$items = 0;
if ($criteria && $this->xpath) {
$entries = $this->xpath->query($criteria);
foreach ($entries as $entry) {
$items++;
}
}
return $items;
}
}
“我只想获取这些元标记的内容”。你能准确地表达你的意思吗(可能有一点“坏代码”):“
echo myFunction($theVideoURL);
应该导致https://v.cdn.vin.co/...
“也许吧?你试过什么?你用这个代码和url测试过吗?请注意,我使用了您提供的url,并使用property='twitter:player:stream
捕获了视频。如果您使用了其他url,也许您应该更改其他属性。几分钟前,我使用命令行php 5.3.26版对其进行了测试,但使用php 5.2也进行了测试。
$url = "https://vine.co/v/bjHh0zHdgZT";
$dom = new DomFinder($url);
$content_cell = $dom->find("//meta[@property='twitter:player:stream']", 'content');
print $content_cell[0];