【问题标题】:Extracting a value from a reference string with simple HTML DOM使用简单的 HTML DOM 从引用字符串中提取值
【发布时间】:2015-09-22 09:29:13
【问题描述】:

我需要从像这样的字符串中提取值3899461

<script data-config=\"\/\/config.playwire.com\/14907\/videos\/v2\/3899461\/zeus.json\

这段代码是从网页中提取的,它是较长行的一部分。通过使用简单的 HTML DOM 解析器,是否可以通过查找此特定行的唯一重复来提取该值?

感谢您的帮助!

【问题讨论】:

  • 所以主要问题是字符串在 &lt;script type="text/javascript"&gt; 元素内,我不知道该选择谁来选择这个元素的内部文本...

标签: php regex parsing simple-html-dom


【解决方案1】:

如果THIS_NUMBER 确实是一个数字,而不是一个字符串;以下将起作用:

preg_match(
    '~<script data-config="//config\.playwire\.com/14907/videos/v2/(\d+)/zeus.json"~',
    $yourWholeHTMLPage,
    $matches
);

【讨论】:

  • 它不起作用,是的,它是一个数字,例如 3900186
  • $yourWholeHTMLPage,在我的例子中,是$ch = curl_init(); $timeout = 0; curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); $html = str_get_html($file_contents); 的结果,其中$url 是正确的网址,我将值preg_match 传递给$html
  • @Sfrow 结果将存储在$matches。在上述代码后添加var_dump($matches)
  • 我知道,实际上没有结果。结果是这样的:array(0) { }
  • 您能否将$html 的相关部分按原样(无需任何编辑)放入您的问题中?使用var_dump 和浏览器的在页面中查找 功能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-10
  • 2010-12-04
  • 2020-04-29
  • 2021-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多