Ankündigung

Einklappen
Keine Ankündigung bisher.

leerzeichen löschen

Einklappen

Neue Werbung 2019

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

  • leerzeichen löschen

    abend,
    beim code ordnen von meinem vokabelkasten bin ich schließlich beim abfragen hängen geblieben(graut und rüben grüßen schön).
    ich wollte mehrere str_replace durch eine Übersichtliche Funktion ersetzen, wobei mir preg_replace über den weg lief.
    jedenfalls die leerzeichen vor und nach meinen trennzeichen werden jetzt nicht rausgekürzt, wie bisher, was die restlichen funktionen stört.
    Code:
    function edit($sppruef2){
    		$such = "# *+([;/(/)/{/}///])+ *#"; // * = {0,unendlich}
    		$ersatz = "*2";
    		preg_replace($such, $replace, $sppruef2);
    		return $sppruef2;
    	}
    verschiedentliche umschreibungen haben nichts gebracht .
    mfg NanoDragon
    Karteikasten
    "Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions

  • #2
    Was machen denn *+ und (...)+ ?
    Und was ist der Zweck der Funktion, was soll wann und wie ersetzt werden?
    Ein aussagekräftiges vorher/nachher Beispiel hilft auch weiter.

    Kommentar


    • #3
      Was hast du denn vor, mach mal ein Beispiel mit Ergebnis,

      Kommentar


      • #4
        aso, stimmt.
        beispiel:
        Code:
        eingabe:
        a;b;c
        a; b ; c
        a ; b ;c
        nach der funktion sollte es so aussehen:
        a;b;c
        des plus hab ich eingefügt, in der hoffnung, dass es dann tut(als verbindungszeichen). jedoch auch nichts
        Karteikasten
        "Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions

        Kommentar


        • #5
          Den Beispielen nach reicht str_replace(" ", "", $text);

          Kommentar


          • #6
            PHP-Code:
            <?php
            $elements 
            array_map('trim'explode(';'$row));
            ?>
            Wenn das ganze aus einer Datei stammt, schau dir mal fgetcsv() und eben trim() an.

            Kommentar


            • #7
              danke erstmal,
              str_replace(" ", "", $t); ist nix, da des auch mehrere wörter sein können und die dann nich mehr verglichen werden können.
              array_map funktioniert soweit. besser als meine bisherigen str_replace verschachtelungen
              die dateifunktionen sind nichts, da die daten aus mysql und nem formular kommen.

              mich würd noch interresieren, warum des mim preg_replace nicht funktioniert, bzw. wo ich da was falsch gezimmert hab.
              Karteikasten
              "Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions

              Kommentar


              • #8
                Ich hab keine Ahnung was dein RegExp darstellen soll, *+ kannte ich bisher auch noch nicht und mehrfach das selbe Zeichen in eckige Klammern schreiben macht für mich auch keinen Sinn..

                Kommentar


                • #9
                  die mehrmals gleichen zeichen zur maskierung von steuerzeichen zu "normalen" zeichen
                  hatte es auch schon so ausprobiert:
                  "# *([;/(),]) *#"
                  darstellen sollte es eigentlich
                  x leerzeichen und nen trennzeichen{;/(),} und x leerzeichen werden gekürzt zu nem trennzeichen
                  Karteikasten
                  "Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions

                  Kommentar


                  • #10
                    Zitat von nanodragon
                    str_replace(" ", "", $t); ist nix, da des auch mehrere wörter sein können und die dann nich mehr verglichen werden können.
                    Ich wollte damit auch nur zeigen, dass undurchdachte Beispiele wertlos sind.

                    Ich würde es trotzdem so einfach wie möglich halten.
                    preg_replace("#\s*;\s*#", ";", $subject)

                    Kommentar


                    • #11
                      ich werd mich bessern mit beispielen
                      ok, des mit den leerzeichen versteh ich jetzt. und nach nochnen bissle rumprobieren tut's jetzt so wie's soll
                      preg_replace("#(\s*)([;|/|(|)|,])(\s*)#", "$2", $sppruef2);
                      so einfach wie möglich, da haste recht.
                      danke nochmals.

                      kann dann zugemacht werden
                      Karteikasten
                      "Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions

                      Kommentar


                      • #12
                        Die Leerzeichen willst Du nicht weiter verwenden, also brauchst Du sie auch nicht erfassen zu lassen. Aus (\s*) wird \s*
                        [;/(|)|,] ein | zuviel.
                        Aus "$2" wird '$1'

                        übrig bleibt
                        preg_replace("#\s*([;/()|,])\s*#", '$1', $sppruef2);

                        Kommentar

                        Lädt...
                        X