我正在使用正则表达式来捕获广告的尺寸
源内容是一个 HTML 文件,我正在尝试捕获如下内容:
size[200x400,300x1200] (could be 1-4 different sizes)
我正在尝试一个具有不同大小的数组
我的捕获代码如下所示:
$size_declaration = array();
$sizes = array();
$declaration_pattern = "/size\[(\d{2,4}x\d{2,4}|\d{2,4}x\d{2,4},){1,4}\]/";
$sizes_pattern = "/\d{2,4}x\d{2,4}/";
$result = preg_match($declaration_pattern, $html, $size_declaration);
if( $result ) {
$result = preg_match_all($sizes_pattern, $size_declaration[0], $sizes);
var_dump($sizes);
}
上面的代码产生了可用的结果:
$sizes = array(
[0] => array (
[0] => '200x400',
[1] => '300x1200'
)
)
但这需要相当多的代码。我当时认为可以使用单个正则表达式收集结果,但我找不到有效的结果。有没有办法稍微清理一下?