$re = '/<article(?: class="lead")?><a href=".*" target="_top"><img(?: height=".*")? src="(.*)"(?: width=".*")? \/><\/a><h[1,2]><a href="(.*)" target="_top">(.*)<\/a><\/h[1,2]><small>By .*<\/small><small>Updated: (.*) - (.*)<\/small><div class="clear"><\/div><\/article>/U';
$str = '<section class="news"><article class="lead"><a href="/2016/04/15/what-are-the-10-most-intriguing-games-of-the-2016-nfl-season/a6ikhoo/" target="_top"><img src="/_internal/cimg!0/8p7xcgnjxaoqjj4iwxfv1qlid4ag0mm" /></a><h1><a href="/2016/04/15/what-are-the-10-most-intriguing-games-of-the-2016-nfl-season/a6ikhoo/" target="_top">What are the 10 most intriguing games of the 2016 NFL season?</a></h1><small>By NATE ATKINS and ARTHUR ARKUSH</small><small>Updated: April 15, 2016 - 9:08 am</small><div class="clear"></div></article><div class="clear"></div></section><div class="bigbox ad"></div><section class="news secondary"><article><a href="/2016/04/08/green-bay-packers-cut-ilb-nate-palmer-10-game-starter-in-2015/afybdi5/" target="_top"><img height="225" src="/_internal/cimg!0/pes2uiv39y78ld1yezq38oqcz3invi8" width="400" /></a><h2><a href="/2016/04/08/green-bay-packers-cut-ilb-nate-palmer-10-game-starter-in-2015/afybdi5/" target="_top">Green Bay Packers cut ILB Nate Palmer, 10-game starter in 2015</a></h2><small>By ARTHUR ARKUSH -- aarkush@profootballweekly.com</small><small>Updated: April 8, 2016 - 4:01 pm</small><div class="clear"></div></article><article><a href="/2016/04/08/jacksonville-jaguars-aaron-colvin-and-green-bay-packers-demetri-goodson-suspended-4-games-each-for-peds/ahkwuh8/" target="_top"><img height="225" src="/_internal/cimg!0/5jn3lvqyt16zr6tg7yqrhsavrr3eh45" width="400" /></a><h2><a href="/2016/04/08/jacksonville-jaguars-aaron-colvin-and-green-bay-packers-demetri-goodson-suspended-4-games-each-for-peds/ahkwuh8/" target="_top">Jacksonville Jaguars\' Aaron Colvin and Green Bay Packers\' Demetri Goodson suspended 4 games each for PEDs</a></h2><small>By ARTHUR ARKUSH -- aarkush@profootballweekly.com</small><small>Updated: April 8, 2016 - 3:23 pm</small><div class="clear"></div></article></section>';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php