Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: usuwanie powtarzających się znaków
Forum PHP.pl > Forum > PHP
pr0woKator
Cześć,

Piszę właśnie funkcję która będzie odpowiadała za generowanie przyjaznego linku z danego stringu.
Teraz napotkałem problem w z którym nie wiem jak sobie poradzić, mianowicie chcę usunąć powtarzające się te same znaki obok siebie np.

dla stringu: "Kaloryfery / Grzejniki"

Moja funkcja usuwa znak / a zamiast spacji wstawia "-" i teraz to wygląda tak: kaloryfery--grzejniki, chciał bym usnąć tyle "-" aby pomiędzy tymi słowami był tylko 1 - czyli 1 (Piszę to specjalnie ponieważ może się zdarzyć że system wygeneruje link i pomiędzy słowami będzie 3 myśliniki, a docelowo ma być tylko jeden).

Proszę o podpowiedzi.
Spawnm
Tak na szybko to można by użyć regexa, ale pewnie znalazło by się coś bardziej optymalnego.
  1. <?php
  2. $x= 'asdsfgd--dfx-dzfxg---dzfxc';
  3. $x = preg_replace('/(-+)/i', '-', $x);
  4. echo $x;
404
Sprawdzaj, czy poprzedni znak w nowym ciągu nie jest "-" zanim go wstawisz.
Pyton_000
  1. preg_replace('/[-]+/', '-', $input);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.