To choose a filter you'll need to know the volume of your tank first.
To find the volume for anyone who hasn't had to do it before... All in centimeters (1 inch =2.54cm) you multiply Length x Width x Height of the water then divide that by 1000 to give you Liters which is what most filters are marked with, well over here at least. If you need gallons the you can divide the Liters buy 3.79 to get gallons.
Brand and style is entirely up to you but generally speaking you get what you pay for with filters so you should buy the most expensive one you can afford that will do the job you need it to. Personally I prefer a canister but you could go for a Hang on back or internal filter if you wanted to.
As for what size filter...
Filters are rated for tanks according to the requirements of a tropical tank which is the volume of the tank 4 times an hour so ignore the tank size recommendations printed on the box
because in order to keep the flow minimal you can get away with it filtering the volume twice per hour.
SO take you tank volume and multiply it by 2 and buy a filter that filters that much per hour as a minimum. You'll usually walk away with a filter that is much cheaper than the one that matches the size of your tank on the box.
So if you have an average 2ft, 64L aquarium you're looking at a filter that does 128L/hour compared to the 256L/hour of a fish tank
If you're serious about upgrading the tank then get one to do the new tank and find a way to divert the flow so water movement is minimal in the interim.
I have an Aqua One 1200L/hour canister which is about $200 and is recommended for tanks up to 300L but I'm running it on my 600L.
The 2400L/h version that I'd need in a tropical tank of the same size is considerably more expensive
