Cela semble être un problème facile à résoudre, mais ce n'est pas aussi simple qu'il n'y paraît. J'ai cette chaîne en PHP:Expression régulière, remplacez plusieurs barres obliques par une seule
////%postname%/
Ceci est une URL et je ne veux jamais plus d'une barre oblique dans une rangée. Je ne veux jamais supprimer complètement les barres obliques.
Voici comment cela devrait ressembler à:
/%postname%/
Parce que la structure pourrait être différente je besoin d'un preg intelligent remplacer regexp, je pense. Il faut travailler avec URLS comme ceci:
////%postname%//mytest/test///testing
qui devrait être converti en ceci:
/%postname%/mytest/test/testing
Beaucoup plus court que prévu. Je ne pouvais pas le faire échouer. Merci! –
str_replace ne fera pas comme ça. vous avez besoin d'une fonction récursive je crois. (regardez ci-dessous) – Gal
Comme le dit Gal, le str_replace ne fonctionnera pas s'il y a plus de deux barres obliques. Le preg_replace fonctionnera mais la version de Bart K est meilleure parce qu'elle ne correspond pas à des barres obliques simples, juste deux ou plus – meouw