Last segment in the url always shown even if it contain only number. So you can get home >> artwork >> street >> all >> 25 without any hacks.
FYI, ereg_replace is deprecated and not supported on newer version of PHP.
In domain.com/artwork/street/bansky-tray-300.html, is 300 a static or dynamic value? Why you put 300 in a last crumb and why you need to remove it? I want to generalized the problem before make a troubleshooting for your problem.