Ankündigung

Einklappen
Keine Ankündigung bisher.

Spalten trimmen mit StringReplace???

Einklappen

Neue Werbung 2019

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

  • Spalten trimmen mit StringReplace???

    Hallo zusammen,

    vielleicht kann mir jmd. helfen. Mich würde interessieren, wie ich eine IP trimmen kann. Ich habe in Spalte a Ip's stehen.

    213.178.189.23
    92.72.218.121

    Ich möchte beginnend ab rechts bis zu dem Punkt suchen und den letzten Zahlenblock durch ein * ersetzen. Kann mir hier jmd. helfen? Alternativ würde mir auch eine Excel Formel genügen.

    213.178.189.*
    92.72.218.*

    Gruß
    Daniel

  • #2
    Hmm.. also das wäre irgendwie ein "perverse" Variante, sollte aber laufen.

    PHP-Code:
    function ipTrim($ip) {
      return 
    rtrim($ip"0123456789")."*";
    }

    echo 
    ipTrim("92.72.218.121");
    echo 
    "<br>\n";
    echo 
    ipTrim("213.178.189.23");

    // 92.72.218.*
    // 213.178.189.* 
    Oder mit strrpos auf den letzten ("rechtesten") Punkt und dann halt ab der Pos abschneiden und den * noch dazu kleistern.

    LG
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Zitat von hausl Beitrag anzeigen
      trimmen .. also das wäre ein perverse Variante - mit Augenzwinkern

      PHP-Code:
      $ip rtrim($ip"1234567890")."*"
      Sauber mit strrpos auf den Punkt und dann halt ab der Pos abschneiden und den * noch dazu kleistern.
      das wäre die php variante. Gibt es da nicht direkt was mit mysql???

      Gruß

      Kommentar


      • #4
        Keine Ahnung, auswendig kenn ich keine, sonst ev. über diesen Weg:

        http://stackoverflow.com/questions/9...place-in-mysql
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          PHP-Code:
          SELECT concat(SUBSTRING_INDEX('169.168.1.1''.'3),'.*'); 
          Hat allerdings den "Nachteil" dass der 4. Block immer durch ein Sternchen ersetzt wird ...

          Die lange Variante, bei der die Sternchen die genaue Anzahl der Zahlen im 4. Block anzeigt, gibts aber auch noch, hat aber auch den Nachteil das du die IP zweimal drin hast ...

          PHP-Code:
          SELECT concat(SUBSTRING_INDEX('169.168.1.5''.'3),'.',CASE LENGTH(SUBSTRING_INDEX('169.168.1.5''.', -1)) WHEN 1 THEN '*' WHEN 2 THEN '**' ELSE '***' END); 

          Kommentar


          • #6
            IPv6?

            Kommentar


            • #7
              ja super. vielen Dank funktioniert! Thema kann geschlossen werden!

              Kommentar


              • #8
                IPs notiert man in der Datenhaltung nicht als IPs ( VARCHARs ), da dieser Datentyp der ineffizienteste Datentyp ist den man benutzen kann. Auch ist dein replacement nicht fähig IPv6 Addressen zu behandeln und an denen wirst du heute nicht vorbeikommen.
                [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                Kommentar

                Lädt...
                X