Teiele im String ersetzen

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

  • Teiele im String ersetzen

    Hallo,

    Ich möchte von dem Inhalt einer Variable (beliebiger Länge) nur das erste und das letzte Zeichen ausgeben, alles dazwischen soll durch * ersetzt werden

    Beispiel:

    $var="Hello World":
    soll so ausgegeben werden: H*********d

    $var="Tel: 123456";
    soll so ausgegeben werden: T*********6

    Wie schreibt man das in PHP am einfachsten?

    Danke
    ACHTUNG: RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit

  • #2
    Hallo,

    guck Dir mal DAS in Verbindung mit DEM an ... und überlege etwas!

    Gruß php_fussel

    Kommentar


    • #3
      Joa, zu den beiden anderen vielleicht noch DAS hier. Damit du die richtige Anzahl Sternchen ganz leicht bekommst.
      Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

      Kommentar


      • #4
        Wohl wahr ... das ist natürlich kürzer als ...

        PHP-Code:
        $sub "";
        for(
        $i 0$i strlen($string)-2$i++) $sub .= "*"
        Gruß php_fussel


        p.s.: Frage an den/die Mod/s: "Ab wann bin ich eigentlich kein 'Newbie' mehr?!".
        EDIT:
        Und ... schon gelöst? Ergibt einen netten "Einzeiler" ...!
        Zuletzt geändert von php_fussel; 07.03.2009, 15:07.

        Kommentar


        • #5
          OffTopic:

          Original geschrieben von php_fussel

          p.s.: Frage an den/die Mod/s: "Ab wann bin ich eigentlich kein 'Newbie' mehr?!".
          Das dauert noch...

          Nieder mit der Camel Case-Konvention

          Kommentar


          • #6
            Wenn das so ist ... dann werde ich ab sofort zu allem meinen Senf dazu geben !

            Gruß php_fussel

            p.s.: Oder ich mache einen Extra-Thread auf und führe ein Selbstgespräch bzw. antworte mir selber

            Kommentar


            • #7
              PHP-Code:
              echo $var[0].str_repeat('*'strlen($var)-2).$var[strlen($var)-1]; 
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Danke an alle, ja jetzt hat das geklappt, ich bin leider nicht gut in php
                ACHTUNG: RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit

                Kommentar


                • #9
                  @ wahsaga: Ach menno, mußt Du denn alles verraten ... so kleine Sachen zum Üben sollte man schon selber machen lassen ...!

                  Oder so ...

                  PHP-Code:
                  $var="Tel: 123456"
                  //soll so ausgegeben werden: T*********6 
                  echo substr_replace($var,str_repeat("*",$erg=strlen($var)-2),1,$erg); 
                  Gruß php_fussel
                  Zuletzt geändert von php_fussel; 07.03.2009, 19:25.

                  Kommentar


                  • #10
                    Oder so ...

                    PHP-Code:
                    $var 'Tel: 123456';
                    echo 
                    substr_replace($varstr_repeat('*'strlen($var) - 2), 1, -1); 
                    Mein PHP Blog

                    Kommentar


                    • #11
                      and the winner is.....ModestLife

                      Deine Variante ist um 3 zeichen kürzer als die von wahsaga

                      danke nochmal an alle für die schnelle Hilfe
                      ACHTUNG: RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit

                      Kommentar


                      • #12
                        Deine Variante ist um 3 zeichen kürzer als die von wahsaga
                        Da würd ich ja eher auf die Performance achten, die zu testen spare ich mir jetzt aber.

                        Kommentar


                        • #13
                          Bei sowas auf die Performance achten? Also bitte ... ;-)
                          Mein PHP Blog

                          Kommentar


                          • #14
                            Au ja, das ist ein gute Idee mit der Performance...und schon habe ich eine neue Frage:

                            Wie macht man sowas um zu sehen welche funktion schneller als die andere läuft?

                            Ich denke mal das wird wohl per schleife gemacht, aber um da gescheite ergebnisse zu erhalten muß man diesen durchgang 100. oder 1000. Male ausführen?

                            Gibts so ein fertiges script wo man seine 2 konkurenten einfügt und dann läßt sich testen welche schneller ist?

                            Danke
                            ACHTUNG: RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit

                            Kommentar


                            • #15
                              Mal eine andere Frage ... wofür brauchst Du das überhaupt?

                              Ansonsten Schleife basteln und Stop-Uhr ...

                              Gruß php_fussel

                              Kommentar

                              Lädt...
                              X