RegEx: Zeichen ersetzen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ich benutze folgenden Code um aus 1) > 2) zu machen

    Quellcode

    1. $Internal_variables{html} =~ s#\?Operation=ItemLookup&ItemId=(.*?)\" name=\"(.*?)\"#$1/$2.htm\" name=\"$2\"#gis;

    1) ?Operation=ItemLookup&ItemId=123456" name="Artikelname"
    2) 123465/Artikelname.htm" name="Artikelname"

    Funktioniert soweit ganz gut
    nun möchte ich noch Sonderzeichen entfernen
    --> Leerzeichen durch Unterstriche ersetzen
    --> SLASH entfernen

    Beispiel:
    1) ?Operation=ItemLookup&ItemId=123456" name="DVD+/-RW Brenner aus Cleveland"
    2) 123465/DVD+-RW_Brenner_aus_Cleveland.htm" name="DVD+-RW_Brenner_aus_Cleveland"

    Anmerkung: Es muss natürlich nicht in diesem Schritt geschehen
    Mit einer Funktion "Entferne die restlichen Slashes aus den Strings, falls diese mehr als einen enthalten" könnte ich auch liebäugeln

    Hat da jemand einen Lösungsansatz?
    Vielen, vielen Dank!
    PS: Die Variable $Internal_variables{html} enthält die komplette Page, also bitte nichts wie "Ersetze ALLE Leerzeichen durch Unterstriche" *gg*
  • Quellcode

    1. $Internal_variables{html} =~ s#\?Operation=ItemLookup&ItemId=(.*?)\" name=\"(.*?)\"#$1/$2.htm\" name=\"$2\"#gis;
    2. $Internal_variables{html} =~ s#([^ /]*?)/(([^ ]*?)(?: )?([^ ]*?)) name=\"$2\"#$1/$3_$4.htm\" name=\"$3_$4\"#gis;

    das dürfte zumindest ein leerzeichen entfernen... ist ne knifflige sache. außerdem kann ich kein perl :lol: