Think I've got the answer to this now, which took a while because I don't use eregi much myself - the patterns can get complex. Hence my previous comment about arrays, which I now see that you must use.
So:
eregi("<topic>(.*)</topic>", $text[$i], $title);
This loads $title[0] with the string which matches the pattern, and it loads $title[1] with the string which matches the subpattern in () brackets. In your case, these will both be the same. So now, you just need something like this:
$alink = strip_tags($link[1]);
$atitle = strip_tags($title[1]);
echo ($foundone."- <a href=\"$alink\">$atitle</a><br>");
I think that by trying to use $foundone as an index to the arrays, you've overwritten the results of the eregi itself.
Hope this is it!