<a name=3><b>Page 3</b>
My regex ability is primitive to say the least - don't laugh, at least too much! I came up with this which, of course, does not work:
$by_page_array = preg_split("/^(\<a name\=)+([0-9])+(\>\<b\>Page)+( )+([0-9]\<\/b\>)/",$string);