我一直在试图找到一种方法来使用laravel 5.1中的php domdocument,但每次都失败了。我想我不明白它是怎么工作的。
我需要从YouTube页面或任何其他页面获取标题和/或视频ID。
我试着把这个包括进去
还有其他事情。
但我总是得到服务器500错误,不知道为什么。
目前我有

$dom = new \DOMDocument();
$dom->loadHTML('https://www.youtube.com/watch?v=QQ7XJG0Z2ho');
$a = $dom->getElementsByTagName('title');

在我看来我只是
@if(isset($a))
    {{var_dump($a)}}
@endif

它返回
object(DOMNodeList)#171 (1) { ["length"]=> int(0) }

但这不是标题。甚至不知道这意味着什么。
谁能告诉我我做错了什么,也许有更好的方法去做?

最佳答案

使用loadHTML()

$content = file_get_contents('https://www.youtube.com/watch?v=QQ7XJG0Z2ho');
$dom = new \DOMDocument();
$dom->loadHTML($content);
$a = $dom->getElementsByTagName('title');

使用loadHTMLFile()
$dom = new \DOMDocument();
$dom->loadHTMLFile('https://www.youtube.com/watch?v=QQ7XJG0Z2ho');
$a = $dom->getElementsByTagName('title');

load()loadHTMLfile()方法中使用url打开需要在ini文件中启用allow_url_fopen指令。

08-26 07:17