Loading:


    preg_match_all

     

    int preg_match_all ( string $pattern , string $subject , array &$matches [, int $flags [, int $offset ]] )


    Wykona globalne dopasowanie wyrażeń regularnych

    Wyszukuje wszystkie tematy pasujące do wyrażeń regularnych podanych we wzorze i wstawia je następnie do posujących wyników posortowanych wedłóg flag.

    Po pierwszym dopasowaniu, kolejne wyszukiwania są kontynuowane od zakończenia ostatniego dopasowania.


    Parametry

     

    pattern

    Wzorzec do wyszukiwania, jako ciąg znaków.

    subject

    ciąg wejściowy.

    matches
    Tablicę wszystkich dopasowań w wielowymiarowej tablicy posortowanych zgodnie z flagami.

     

    flags
    Może być kombinacją następujących flag (pamiętaj, że nie ma sensu używać PREG_PATTERN_ORDER wraz z PREG_SET_ORDER):
         

     

    PREG_SET_ORDER

    PREG_OFFSET_CAPTURE


    offset

    Normally, the search starts from the beginning of the subject string. The optional parameter offset can be used to specify the alternate place from which to start the search (in bytes).

    Normalnie, wyszukiwanie rozpoczyna się od początku a}cucha ynakw. Opcjonalny parametr offset moe być wykorzystanz, aby określić miejsce, z którego ma si roypocy wzsyukiwanie (w bajtach).



    Zwracane wartości

    Zwraca liczbę pasujących wzorców (katóra moze być równa zero), lub FALSE jeśli wystąpił błąd.

     



    Napisz Artyku³

    Listing


    //Example #1 pobiera wszystkie numery telefonów z tekstu.

    <?php
    preg_match_all("/\(?  (\d{3})?  \)?  (?(1)  [\-\s] ) \d{3}-\d{4}/x",
                    "Call 555-1212 or 1-800-555-1212", $phones);
    ?>

    //Example #2 Znajdź pasujące znaczniki HTML (greedy)

    <?php
    // przykład 2 jest przykładem backreferencing.Mówi, że PCRE
    musi odpowiadać drugiemu zestawowi nawiasów w wyrażeniu regularnym
    // która byłaby w tym przypadku ([\ w] +), . Dodatkowy ukośnik jest
    //wymagany, ponieważ ciąg jest w podwójnym cudzysłowie

    $html = "<b>pogrubiony text</b><a href=howdy.html>kliknij mnie</a>";

    preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, $matches, PREG_SET_ORDER);

    foreach ($matches as $val) {
        echo "matched: " . $val[0] . "\n";
        echo "part 1: " . $val[1] . "\n";
        echo "part 2: " . $val[3] . "\n";
        echo "part 3: " . $val[4] . "\n\n";
    }
    ?>

    //Powyższy przykład wyświetli:

    matched: <b>pogrubiony text</b>
    part 1: <b>
    part 2: pogrubiony text
    part 3: </b>

    matched: <a href=howdy.html>click me</a>
    part 1: <a href=howdy.html>
    part 2: kliknij mnie
    part 3: </a>


       

    //Example #3 użycie nazwy subpattern

    <?php

    $str = <<<FOO
    a: 1
    b: 2
    c: 3|>
    FOO;

    preg_match_all('/(?<name>\w+): (?<digit>\d+)/', $str, $matches);

    print_r($matches);

    ?>

    //Powyższy przykład wyświetli:

    Array
    (
        [0] => Array
            (
                [0] => a: 1
                [1] => b: 2
                [2] => c: 3
            )

        [name] => Array
            (
                [0] => a
                [1] => b
                [2] => c
            )

        [1] => Array
            (
                [0] => a
                [1] => b
                [2] => c
            )

        [digit] => Array
            (
                [0] => 1
                [1] => 2
                [2] => 3
            )

        [2] => Array
            (
                [0] => 1
                [1] => 2
                [2] => 3
            )

    )


       

     




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors