Teiele im String ersetzen

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

  • 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

    Comment


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

      Comment


      • #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" ...!
        Last edited by php_fussel; 07-03-2009, 14:07.

        Comment


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

          Comment


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

            Comment


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

              Comment


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

                Comment


                • #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
                  Last edited by php_fussel; 07-03-2009, 18:25.

                  Comment


                  • #10
                    Oder so ...

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

                    Comment


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

                      Comment


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

                        Comment


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

                          Comment


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

                            Comment


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

                              Ansonsten Schleife basteln und Stop-Uhr ...

                              Gruß php_fussel

                              Comment

                              Working...
                              X