yul*_*ika 3 php regex html-parsing
我怎样才能获得所有的<img>s width >= 300?
我的标记/代码:
$images = <<<END
<img src="/data/img/201108031_023" width="300" height="400" />
<img src="/data/img/201108031_026" width="250" height="300" />
<img src="/data/img/201108031_028" width="400" height="300" />
<img src="/data/img/201108031_032" width="500" height="400" />
...
END;
Run Code Online (Sandbox Code Playgroud)
我的尝试:
preg_match_all("/<img(.*?) \/>/",$images,$matches);
print_r($matches);
Run Code Online (Sandbox Code Playgroud)
为此使用正则表达式并不是一个好主意.
这适用于您的特定示例,但它有许多问题,因为正则表达式无法正确解析HTML:
"/<img[^>]*width=\"([3-9][0-9]{2}|[1-9][0-9]{3,})\"[^>]*>/"
Run Code Online (Sandbox Code Playgroud)
看到它在线工作:ideone
我建议你改为寻找一个HTML解析器.
有关