martinli: Letzte 4 stellen Abschneiden lassen

Hallo,
kurze Frage,
wie kann ich die letzten 4 buchstaben einer Variabelen abschneiden lassen?
Sprich etwas wie:
$kv1 = substr($seite, 0, 57);
nur dass nicht von Stelle x  bis stelle y abgeschnitten wird, sondern eben die letzten 4 stellen:

$test = "halloleute";
$test1 = xyz
echo $test1; ->  "hallo"

Viele Grüße
Martin

  1. Hi!

    $test = "halloleute";
    $test1 = xyz
    echo $test1; ->  "hallo"

    $test = substr($test, -4);
    echo $test; //Ausgabe: hallo

    Grüße,
    Fabian St.

    --
    Endlich online: http://fabis-site.net
    --> XHTML, CSS, PHP-Formmailer, Linux
    Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
    1. Hallo Fabian,
      das ist es leider nicht, denn:
      $test = "halloleute";
      $test = substr($test, -4);
      echo $test; //Ausgabe: eute
      Sprich die letzten 4 Buchstaben werden ausgegeben,
      Ich will aber die letzten 4 Buchstaben abgeschnitten haben.

      Hat wer einen anderen Tipp?
      Viele Grüße
      Martin

      1. $test = "halloleute";
        echo substr($test, 0, strlen($test)-4); => hallol

      2. Hi Martin!

        das ist es leider nicht, denn:
        $test = "halloleute";
        $test = substr($test, -4);
        echo $test; //Ausgabe: eute
        Sprich die letzten 4 Buchstaben werden ausgegeben,
        Ich will aber die letzten 4 Buchstaben abgeschnitten haben.

        Sorry, es müsste heißen:

        $test = substr($test, strlen($test)-5, strlen($test)); // Ausgabe hallo

        Grüße,
        Fabian St.

        --
        Endlich online: http://fabis-site.net
        --> XHTML, CSS, PHP-Formmailer, Linux
        Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
        1. Hi Martin!

          So jetzt aber wirklich die richtige Lösung:

          $test = substr($test, strlen($test)-4, strlen($test));

          strlen() beginnt nämlich bei der Zählung mit 1 und nicht - wie sonst üblich - mit 0...

          Grüße,
          Fabian St.

          --
          Endlich online: http://fabis-site.net
          --> XHTML, CSS, PHP-Formmailer, Linux
          Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
          1. Hi,

            So jetzt aber wirklich die richtige Lösung:

            nö.

            $test = 'halloleute';

            $test = substr($test, strlen($test)-4, strlen($test));

            echo $test; // eute

            Warum willst du immer, aber auch wirklich immer, 'eute' ausgeben? ;-)

            Du warst mit deinem ersten Versuch übrigens verdammt nah dran:

            echo substr('halloleute', 0, -4); // hallol

            (dass hier nicht 'hallo' rauskommt, liegt daran)

            strlen() beginnt nämlich bei der Zählung mit 1 und nicht - wie sonst üblich - mit 0...

            strlen() "beginnt" nirgendwo, sie gibt die Anzahl der Zeichen einer Zeichenkette zurück. Und da wäre es doch blöd, wenn sie immer ein Zeichen weniger, als die Zeichenkette tatsächlich hat, zurückgeben würde.

            Gruß,
            Andreas.

            1. Hi Andreas!

              Danke für die Verbesserung. Nächstens mal teste ich es, bevor ich poste...

              Grüße,
              Fabian St.

              --
              Endlich online: http://fabis-site.net
              --> XHTML, CSS, PHP-Formmailer, Linux
              Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
  2. Hallo,

    $test = substr("halloleute", 0, 4); => hallo

    $test = substr("halloleute", strlen("halloleute")-5, strlen("halloleute"); => leute

    mfg Bernd

    1. Hallo Bernd,
      ja auch das ist mir klar, aber mein Problem ist,
      dass ich nicht weiß was vor "leute" steht.
      Also kann es sein dass es:
      "halloliebeleute" ist,
      und ich "halloliebe"  haben will
      oder es ist:
      "halloleute" und ich will "hallo" haben.

      Also, eben alle vor den letzten 4 Zeichen.
      Viele Grüße
      Martin

      1. "halloleute" und ich will "hallo" haben.
        Also, eben alle vor den letzten 4 Zeichen.

        Hat hier eigentlich schonmal irgendwer -für jeden verständlich- klar gestellt, dass "leute" nicht vier sondern fünf Buchstaben hat? Um Missverständnissen vorzubeugen, mein ich...

        Michel