Kommt mir bekannt vor :p
Wie wär’s denn, zur Verarbeitung von X(HT)ML was zu nutzen, was dafür gedacht ist? Bspw. XSLT.
Ich nutze mittlerweile die DOM-Extension von PHP und nur einen sehr bemessenen regulären Ausdruck zum Entfernen von Trailing Slashes
/(?:/$|/?|/#)/U
Das ganze passiert nur noch in einem durch die DOM-Funktionen start eingeschränkten Teil und sollte dort ansich alles abdecken was in meinem Fall vorkommen kann:
example.com/foo/ -> example.com/foo
example.com/foo/?bar=baz -> example.com/foo?bar=baz
example.com/foo/#bar -> example.com/foo#bar
example.com/foo/?bar=baz#qux -> example.com/foo?bar=baz#qux