0

我已经从 html 文件中提取到类名,并且每一行都包含类名,例如

      </div><div id='css-11_uss_pss_sss-__i__' class='sss'> <div class="sss-top">
      </div><div id='css-42_aap-8' class='css'> <div class="sss-top">

我需要从不同的行中提取“uss_pss_sss”和“aap-8”

我尝试使用此代码提取第一个条件。

            preg_match("/(?<=_).*?(?=-__i__)/", $buffer, $match);

我如何提取第二行?

4

1 回答 1

0

你不能有两个原因:

1)aap-8不能是您的模式的结果,因为它没有按照-__i__您的前瞻断言中指示的那样跟随

2) preg_match函数只给出第一个匹配,你必须使用preg_match_all代替

您可以通过以下方式解决这两个问题:

preg_match_all("/(?<=_).*?(?=-(?:__i__)?|')/", $buffer, $matches);
print_r($matches);
于 2013-06-17T17:17:49.593 回答