【问题标题】:How to receive values of html div tag with specific class?如何接收具有特定类的 html div 标签的值?
【发布时间】:2019-03-25 18:16:38
【问题描述】:

我正在解析一个 HTML 字符串,但我遇到了问题。我想使用正则表达式而不是客户端 DOM 来获取 divs 和 product__info__value 类中的值。

我尝试了以下代码:

$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, Страна

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

【问题讨论】:

    标签: php html regex


    【解决方案1】:

    你可以把它分成 3 个部分。名称/值之前的部分、您想要的实际名称/值以及名称/值之后的部分。

    1. product__info__(?:name|value)"&gt;#标签结束
    2. (?:[^&lt;]+) # 任何不是开口角括号的东西
    3. (?=&lt;) # 带有开口角支架的前瞻

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

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

    Here is a demo

    【讨论】:

      猜你喜欢
      • 2012-10-20
      • 2020-11-05
      • 1970-01-01
      • 2018-12-04
      • 1970-01-01
      • 2022-08-23
      • 2018-05-25
      • 2021-02-23
      • 1970-01-01
      相关资源
      最近更新 更多