$pattern = '/<div id="power-push2">(.*)<\/div>/i';
$str = '<div id="power-push2"><a href="../?id=11" class="imghover"><img src="../1.jpg" alt="abc" width="160" height="213" /></a><p><span class="p-w15">username</span></p></div>
<div id="power-push2"><a href="../?id=22" class="imghover"><img src="../1.jpg" alt="abc" width="160" height="213" /></a><p><span class="p-w15">username</span></p></div>
<div id="power-push2"><a href="../?id=33" class="imghover"><img src="../1.jpg" alt="abc" width="160" height="213" /></a><p><span class="p-w15">username</span></p></div>
<div id="power-push2"><a href="../?id=44" class="imghover"><img src="../1.jpg" alt="abc" width="160" height="213" /></a><p><span class="p-w15">username</span></p></div>
<div id="power-push2"><a href="../?id=55" class="imghover"><img src="../1.jpg" alt="abc" width="160" height="213" /></a><p><span class="p-w15">username</span></p></div>';
preg_match_all($pattern, $str, $matches);
echo '<pre>'.htmlspecialchars(print_r($matches, true)).'</pre>';
EDIT: Oops, misread your question. Give me a minute.
EDIT: Is this data static or dynamic?