Ankündigung

Einklappen
Keine Ankündigung bisher.

Aufeinanderfolgende Bindestriche entfernen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Aufeinanderfolgende Bindestriche entfernen

    Hallo Leute,

    ich stehe wieder mal vor einem Problem, wo ich es nicht schaffe eine Lösung für mich zu erarbeiten.

    Die Problembeschreibung ist ganz einfach:

    Ich habe einen String, der Später für die URI verwendet wird. In diesem String dürfen die "-" sich nicht wiederholen.

    Beispiel:

    PHP-Code:
    $uri "homepage/meine---seite/eine--unterseite/";

    $uri_str str_replace("--""-"$uri);

    // Wunschergebnis wäre dann: "homepage/meine-seite/eine-unterseite/" 
    Mein Code ist natürlich fehlerhaft, weil das mit "--" nicht funktioniert. Ich habe auch was von RegExp und {2,} gelesen wie z.B.:
    PHP-Code:
    str_replace("#[-]{2,}#""-",$text
    Aber dieser Code ist für Leerzeichen gedacht und ich kenne mich absolut 0 mit RegExp aus. Könntet ihr mir bitte aushelfen?


    Grüße,
    Joe

  • #2
    PHP-Code:
    $s =  "homepage/meine---seite/eine--unterseite/";

    echo 
    preg_replace('/-{2,}/''-'$s);
    // homepage/meine-seite/eine-unterseite/ 

    PHP-Code:
    $uri_str str_replace("--""-"$uri); 
    Das ginge schon auch, musst du aber rekursiv laufen lassen bis keine zwei -- mehr da sind.
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Vielen Dank für die Hilfe!

      Jetzt verstehe ich auch das Prinzip mit dem {2.}... Danke danke!

      Grüße,
      Joe

      Kommentar

      Lädt...
      X