regex - 正则表达式在视频标签中查找从和直到
问题描述
我有这个视频标签:
<video src="https://videosource.com" x-webkit-airplay="allow"></video>
我像这样使用 PHP Simple HTML DOM Parser:
$html = str_get_html($output);
$output2 = $html->find('video', 0);
preg_match('/\src:"(.*?)\"/', $output2, $match);
但是是返回我的空值。我怎样才能获得https://videosource.com?
解决方案
用正则表达式解析 html 不是一个好主意,但因为你有没有嵌套的视频标签,所以你可以在这里使用它。
您稍微需要更正您的正则表达式并使用它,
src="([^"]*?)"
演示,
https://regex101.com/r/HPGzRq/1
编辑1:
这是您可以使用的那种 php 代码,
$output2 = '<video src="https://videosource.com" x-webkit-airplay="allow"></video>';
preg_match('/src=\"([^\"]*?)\"/', $output2, $match);
print($match[1]);
$match[1] 在正则表达式中捕获并返回组 1,这些行的输出是,
https://videosource.com
推荐阅读
- pyspark - S3上没有数据,但是数据爬到数据目录时有数据
- reactjs - D3 条形图 + React Hooks - exit().remove() 不起作用
- excel - 如果满足条件,则复制选定的单元格
- c# - Windows 窗体,如何在初始化后向窗体添加控件而不与同一窗体中的相邻控件重叠?
- python - 用python重命名目录中的多个文件夹
- php - 从 php 中的站点获取部分 youtube 链接
- php - slowAES 解密到另一个密钥
- c++ - begin() 是一个有效的迭代器操作,如果是,它指的是什么?
- sql - 缩短表名
- c++ - 如何从头开始列出 C++ 中 ZIP 存档的所有文件名?