Anfängerfrage: Alles außer bestimmte Zeichen aus einem String entfernen

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

  • Anfängerfrage: Alles außer bestimmte Zeichen aus einem String entfernen

    Ich bin ein totaler Anfänger, was PHP betrifft, und bin dabei mein erstes Projekt zu schreiben.

    Kann man irgendwie alles außer bestimmte Zeichen aus einem String entfernen? Also wenn der String z.B. "HALLO" lautet und er alles außer die Zeichen des Strings "AO" entfernen soll, sollte der neue String "HLL" lauten.

    Kann mir da jemand weiterhelfen?

  • #2
    PHP-Code:
    preg_replace('#[AO]+#''''HALLO'); 
    ggf. hinter das letzte # noch ein i für caseless ... sollte richtig sein *gerade keine Lust hat zu testen*


    oder was ich gerade noch gefunden habe
    PHP-Code:
    str_replace(array('A''O'), '''HALLO'
    oder str_ireplace für caseless und ggf. als zweiten Parameter auch ein Array mit Leerstring, hab ich auch gerade keine Lust auszuprobieren ob er für search ein Array und dann für replace nur einen String akzeptiert (diese Möglichkeit sollte schneller sein als preg_replace, auch wenn sie etwas länger aussieht)

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Ah, ich habe mich vertan mit meinem Beispiel. Ich meinte eigentlich: Wenn der String z.B. "HALLO" lautet und er alles außer den Zeichen des Strings "HL" entfernen soll, sollte der neue String "HLL" lauten.

      Danke schon mal. Tut mir Leid, dass ich meine Frage falsch gestellt habe.

      Kommentar


      • #4
        es wird dir ja wohl möglich sein meine Lösungen zu verstehen und sie dementsprechend, passend auf deinen Wunsch, zu ändern?!

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Ja, aber ich möchte nicht alle möglichen Zeichen bis auf die 2, die nicht entfernt werden sollen, hinschreiben. Das wären dann nämlich 253 Zeichen. Gibt es keine andere Möglichkeit?

          Kommentar


          • #6
            PHP-Code:
            preg_replace('#[^HL]+#''''HALLO'); 

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              $result = preg_replace('/[^hl]/', '', $subject);

              wobei das ^ für NOT steht:

              wenn die Zeichen nicht h oder l sind, dann ersetze durch nichts (=lösche)

              Kommentar


              • #8
                Vielen Dank für eure Hilfe! Das Problem ist also jetzt gelöst.

                Kommentar

                Lädt...
                X