2

如何使用给定网站的 php file_get_content 输出以下 div 的 SRC?

<div class="videocontainer">
<input type="file" id="srtSelector"/>
<video class="video-js vjs-default-skin vjs-big-play-centered" id="olvideo">
<track kind="captions" src="https://rolled.oped.info/sub/jAghd9t8AB4/HfQZ32SovcY.vtt"/>
</video>
</div>

我有兴趣显示https://rolled.oped.info/sub/jAghd9t8AB4/HfQZ32SovcY.vtt部分。

谢谢!

4

1 回答 1

2

尝试使用 DOM 而不是使用正则表达式等会更好。DOMDocument 并不总是易于使用,但对于您的问题,它可能会完成这项工作......

$html = <<< HTML
<div class="videocontainer">
<input type="file" id="srtSelector"/>
<video class="video-js vjs-default-skin vjs-big-play-centered" id="olvideo">
<track kind="captions" src="https://rolled.oped.info/sub/jAghd9t8AB4/HfQZ32SovcY.vtt"/>
</video>
</div>
HTML;

$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($html);

$tracks = $dom->getElementsByTagName("track");

foreach ( $tracks as $track )   {
    echo (string)$track->getAttribute("src").PHP_EOL;
}

代码应该很容易理解。

您可能面临的最大问题是,如果 HTML 有错误(如问题中的原始错误),那么这有时会使其难以加载。

于 2018-05-27T06:53:34.653 回答