如何接收特定类的html div标签的值?

时间:2019-03-25 18:16:38

标签: php html regex

我正在解析HTML字符串,但是有问题。我想使用正则表达式获取div类的product__info__value内部的值,而不要使用客户端DOM。

我尝试了以下代码:

$reg_ex = "<div[^<>]*class=\"my-class\"[^<>]*>[\s\S]*?</div>";

但是对我来说真的没有用。

这是html输入:

<div class="product__info__group">
    <div class="product__info__name">Производитель</div>
    <div class="product__info__value">Holzhof</div>
</div>
<div class="product__info__group">
    <div class="product__info__name">Страна</div>
    <div class="product__info__value"></div>
</div>

我需要数组形式的这些值: Производитель, Holzhof, Страна

非常感谢您的帮助,非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以将其分为三部分。名称/值前的部分,所需的实际名称/值以及名称/值后的部分。

  1. product__info__(?:name|value)">#标签的结尾
  2. (?:[^<]+)#不属于任何可能的原因
  3. (?=<)#带有开口角支架的傻瓜头

全部放在一起,看起来像这样:

preg_match_all('~product__info__(?:name|value)">\K(?:[^<]+)(?=<)~', $string, $matches);

Here is a demo