Bestimmten Teil aus String kopieren

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

  • Bestimmten Teil aus String kopieren

    Hallo,

    ich beschäftige mich gerade bissel mit PHP und hänge schon fest. Vielleicht könnt ihr mir helfen ,ich finde leider kein Schnipsel für mein Anliegen:

    Ich habe:

    $str = 'Ich sende dir A00B20'

    Ich möchte:

    AxxBxx in einen neuen String haben und im alten entfernt.

    $str = 'Ich sende dir'
    $str1 = 'AxxBxx'

    Ich könnte naturlich immer die letzten 6 Zeichen kopieren und löschen aber leider werden sie nicht immer gesendet. Ich muss also irgendwie überprüfen ob AxxBxx im String ist. Wenn ja soll dies in einen neuen String und im alten entfernt werden.
    Das einzige was immer gleich ist sind A & B, die Zahlen können zwischen 1-99 sein.

    Eine Idee wie ein Anfänger das angehen kann?

  • #2
    Schau dir mal die regular expression an (Google)

    z.b PHP: preg_match - Manual
    oder bei uns unter Reguläre Ausdrücke PHP Tutorials nicht nur für Anfänger php-resource.de

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Ahhhh. Danke Berni. Wenn ich das also richtig verstehe, habe ich den Buchstaben A und 2 Digit und B mit 2 Digit.

      Wenn ich das richtig verstehe müsste dies zum gewünschten Ergebniss führen?

      preg_match('*A\d{2}B\d{2}', $str, $str1);
      $str = preg_replace('*A\d{2}B\d{2}', '', $str);

      Kommentar


      • #4
        Zum Beispiel so:

        PHP-Code:
        <?php

        function f($str)
        {
            
        $lastSixBytes substr($str, -6);

            
        $value null;

            
        $pattern '/\AA[0-9]{2}B[0-9]{2}\z/';

            
        // Delimiters:    <http://php.net/manual/en/regexp.reference.delimiters.php>
            // `\A` und `\z`: <http://php.net/manual/en/regexp.reference.escape.php>

            
        if (preg_match($pattern$lastSixBytes) === 1) {
                
        $value $lastSixBytes;
                
        $str   trim(substr($str0, -6));
            }

            return array(
        $value$str);
        }

        $str 'Ich sende dir A00B20';

        list(
        $str1$str) = f($str);

        var_dump($str1$str);

        // string(6) "A00B20"
        // string(13) "Ich sende dir"

        Kommentar

        Lädt...
        X