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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #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.

      Comment


      • #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

        Comment


        • #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?

          Comment


          • #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

            Comment


            • #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)

              Comment


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

                Comment

                Working...
                X