Wydaje się, że jest to łatwy problem do rozwiązania, ale nie jest to takie proste, jak się wydaje. Mam ten ciąg w PHP:Wyrażenie regularne, zamień kilka ukośników tylko na jeden
////%postname%/
Jest to URL i nigdy nie chce więcej niż jeden ukośnik w rzędzie. Nigdy nie chcę całkowicie usunąć ukośników.
To jak to powinno wyglądać:
/%postname%/
Ponieważ struktura mogłaby wyglądać inaczej muszę sprytny preg zastąpić wyrażeniem regularnym, tak myślę. To trzeba pracować z adresami URL tak:
////%postname%//mytest/test///testing
które powinny zostać przekształcone do tego:
/%postname%/mytest/test/testing
znacznie krótszy niż oczekiwano. Nie mogłem zmusić go do niepowodzenia. Dzięki! –
str_replace tego nie zrobi. potrzebujesz funkcji rekurencyjnej, w którą wierzę. (spójrz poniżej) – Gal
Jak mówi Gal, str_replace nie zadziała, jeśli są więcej niż dwa ukośniki. Preg_replace będzie działał, ale wersja Bart K jest lepsza, ponieważ nie pasuje do pojedynczych ukośników, tylko dwa lub więcej – meouw