Ankündigung

Einklappen
Keine Ankündigung bisher.

Regex pattern

Einklappen

Neue Werbung 2019

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

  • Regex pattern

    Hallo,
    Ich bin ein relativ unerfahrener Coder und versuche ich mich an Regex.
    Mein Code funktioniert eigentlich auch ganz gut aber ich bin mit der Ausgabe nicht ganz zufrieden!
    Hier mal der Code:
    PHP-Code:
    <?php
    {
    $contents file_get_contents('test.txt');
    $pattern '/\b\d{3}([.\s]?)\d{3}\1\d{2}(?:\1\d{1,2})?\b/';
    preg_match_all($pattern$contents$results);
    }
    var_dump($results);
    ?>
    Das ist meine Ausgabe:
    Code:
    array(2) { [0]=> array(9) { [0]=> string(13) "000 000 00 00" [1]=> string(12) "000 000 00 0" [2]=> string(10) "000 000 00" [3]=> string(13) "000.000.00.00" [4]=> string(12) "000.000.00.0" [5]=> string(10) "000.000.00" [6]=> string(10) "0000000000" [7]=> string(9) "000000000" [8]=> string(8) "00000000" } [1]=> array(9) { [0]=> string(1) " " [1]=> string(1) " " [2]=> string(1) " " [3]=> string(1) "." [4]=> string(1) "." [5]=> string(1) "." [6]=> string(0) "" [7]=> string(0) "" [8]=> string(0) "" } }
    Am liebsten hätte ich aber alle machtes untereinander aufgelistet ohne das ganze drum herum. Ungefähr so:
    000 000 00 00
    000 000 00 0
    000 000 00
    000.000.00.00
    000.000.00.0
    000.000.00
    0000000000
    000000000
    00000000

    Kann mir da jemand weiterhelfen?

  • #2
    var_dump() ist auch nicht für die Ausgabe gedacht, sondern eher als Informationslieferant für die Variable anzusehen.
    Wenn du ein Array hast kannst du das mit foreach durchlaufen und die Inhalte ganz normal mit echo oder printf ausgeben.

    Kommentar


    • #3
      Hier findest du einfache Beispiele: https://www.php-einfach.de/php-tutor...each-schleife/

      Kommentar


      • #4
        Zitat von JakobPHP Beitrag anzeigen
        Am liebsten hätte ich aber alle machtes untereinander aufgelistet ohne das ganze drum herum. Ungefähr so:
        000 000 00 00
        000 000 00 0
        000 000 00
        000.000.00.00
        000.000.00.0
        000.000.00
        0000000000
        000000000
        00000000

        Kann mir da jemand weiterhelfen?
        PHP-Code:
        <?php

        $contents 
        file_get_contents('test.txt');
        $pattern '/\b\d{3}([.\s]?)\d{3}\1\d{2}(?:\1\d{1,2})?\b/';
        preg_match_all($pattern$contents$results);

        ?>
        <style>
            ul {
                margin: 0;
                padding: 0;
                list-style: none inside;
            }

            ul li {
                margin: 0;
                padding: 5px;
                color:#FF1493;
            }
        </style>
        <ul class="">
            <?php foreach ($results as $result): ?>
                <li><?= $result ?></li>
            <?php endforeach; ?>
        </ul>
        apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

        Kommentar


        • #5
          Mit dem Code bekomme ich folgendes Ergebnis:
          • Notice: Array to string conversion in C:\xampp\htdocs\regex2.php on line 23
            Array
          • Notice: Array to string conversion in C:\xampp\htdocs\regex2.php on line 23
            Array

          Kommentar


          • #6
            $result(s) ist ein Array und kein String! Ein var_dump() oder print_r() zeigt dir den genauen Aufbau/Inhalt.
            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


            • #7
              Zitat von JakobPHP Beitrag anzeigen
              Mit dem Code bekomme ich folgendes Ergebnis:
              • Notice: Array to string conversion in C:\xampp\htdocs\regex2.php on line 23
                Array
              • Notice: Array to string conversion in C:\xampp\htdocs\regex2.php on line 23
                Array

              ach ja, dann musst du <?php foreach ($results[0] as $result): ?> machen
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

              Kommentar


              • #8
                Habe es geändert Black Scorp,

                Jetzt bekomme ich wieder die Ausgabe wie am Anfang:
                array(2) { [0]=> array(9) { [0]=> string(13) "000 000 00 00" [1]=> string(12) "000 000 00 0" [2]=> string(10) "000 000 00" [3]=> string(13) "000.000.00.00" [4]=> string(12) "000.000.00.0" [5]=> string(10) "000.000.00" [6]=> string(10) "0000000000" [7]=> string(9) "000000000" [8]=> string( "00000000" } [1]=> array(9) { [0]=> string(1) " " [1]=> string(1) " " [2]=> string(1) " " [3]=> string(1) "." [4]=> string(1) "." [5]=> string(1) "." [6]=> string(0) "" [7]=> string(0) "" [8]=> string(0) "" } }

                Ich will aber wirklich nur die exakten machtes. Sorry für meine Probleme, Aber ich komme einfach nicht weiter weil ich immer wieder zum gleichen Ergebnis komme.

                Kommentar


                • #9
                  Das sind die Ergebnisse die auf dein Pattern matchen.

                  Bitte nutze Code-Tags hier im Forum und ev. solltest du mal ein lauffähiges Beispiel geben. Was sind die Eingangsdaten und was daraus willst du haben. So wie jetzt kann man nicht viel mehr sagen.
                  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


                  • #10
                    Du hast wieder var_dump benutzt, oder?
                    PHP-Code:
                    <ul class="">
                        <?php foreach ($results[0] as $result): ?>
                            <li><?= $result ?></li>
                        <?php endforeach; ?>
                    </ul>
                    So wäre BlackScorps Beispiel korrigiert.
                    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
                    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

                    Kommentar


                    • #11
                      das sach ich doch in#7 schon
                      apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                      Kommentar


                      • #12
                        Braucht halt n vollständiges Beispiel, sonst mogeln sich wieder andere Funktionen mit ein :>
                        [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
                        [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

                        Kommentar


                        • #13
                          Das ist das ergebnis aus var_dump(), das hatten wir schon. Du musst dne Code von blackscorp nehmen und die Zeile mit dem foreach durch die in Beitrag #7 genannte austauschen. Das bekommst du doch hin oder?

                          Kommentar


                          • #14
                            Ok. Super. Jetzt läuft es wie es soll. Weiß nicht warum es beim ersten mal nicht geklappt hat. Da habe ich ja auch die Zeile ausgetauscht. Naja egal. Danke für eure Hilfe.

                            Kommentar

                            Lädt...
                            X