Loading:

Zaplanuj Przeprowadzke - Ściągnij Darmową Aplikację na Androida

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
        )

)


   

 


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=3&t=1223

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
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-17 v.1.5 | design: diviXdesign & rainbowcolors