Loading:

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

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


preg_match — wykonuje pasujące wyrażenia regularne


wzsyukuje  tematw pasujczch do danego wyrażenia regularnego podanego we wzorze.


Parametry

 

pattern

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

subject

ciąg wejściowy.

matches

Jeśli dopasowóje się, jest on wypełniany wynikami wyszukiwania. $matches[0] będzie zawierał tekst, który w pełni odpowiada wzorcowi, $matches [1] będzie miał tekst, który pasuje  pierwszemu przejentemu  podwzorcowi, i tak dalej.

flags
flagi mogą być następujące:

 

 

PREG_OFFSET_CAPTURE
If this flag is passed, for every occurring match the appendant string offset will also be returned. Note that this changes the return value in an array where every element is an array consisting of the matched string at index 0 and its string offset into subject at index 1.

offset
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).


<?php
$subject 
"abcdef";
$pattern '/^def/';
preg_match($pattern$subject$matchesPREG_OFFSET_CAPTURE3);
print_r($matches);
?>

Powyższy przykład wyświetli:

Array
(
)

podczas gdy np


<?php
$subject 
"abcdef";
$pattern '/^def/';
preg_match($patternsubstr($subject,3), $matchesPREG_OFFSET_CAPTURE);
print_r($matches);
?>

 

będzie produkować

Array
(
[0] => Array
(
[0] => def
[1] => 0
)

)


Zwracane wartości


preg_match () zwraca ile razy dopasowano wzór. Będzie albo 0 (nie pasuje) lub 1 raz, ponieważ preg_match () zatrzyma wyszukiwanie po pierwszym dopasowaniu. preg_match_all () wręcz przeciwnie będzie w dalszym ciągu dopasowywał aż do końca ciągu. preg_match () zwraca FALSE jeśli wystąpił błąd.



Napisz Artykuł

Listing


//Example #1 Znajdź ciąg tekstu "php"

<?php
// "i" po strukturze separator wskazuje na wielkość znaków wyszukiwania

if (preg_match("/php/i", "PHP  jest webowym językiem skryptowym wyboru.")) {
    echo "dopasowanie zostało znalezione.";
} else {
    echo "dopasowanie nie zostało znalezione.";
}
?>

//Example #2 znajdź słowo "web"
<?php
/*  \b w strukturze oznacza słowo granicy, a więc tylko odrębne
 * słowo "web" jest pasujące, i nie pasuje słowo typu "webbing" lub "cobweb" */

if (preg_match("/\bweb\b/i", "PHP  jest webowym językiem skryptowym wyboru.")) {
    echo "A match was found.";
} else {
    echo "A match was not found.";
}

if (preg_match("/\bweb\b/i", "PHP  jest webowym językiem skryptowym wyboru.")) {
    echo "dopasowanie  zostało znalezione.";
} else {
    echo "dopasowanie nie zostało znalezione.";
}
?>

Example #3 pobranie nazwy domeny z adresu URL

<?php
// pobranie nazwy hosta z adresu URL
preg_match('@^(?:http://)?([^/]+)@i',
    "http://www.funkcje.net/index.html", $matches);
$host = $matches[1];

// pobranie dwóch ostatnich segmentó nazwy hosta
preg_match('/[^.]+\.[^.]+$/', $host, $matches);
echo "domain name is: {$matches[0]}\n";
?>

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

domena to : funkcje.net


   

//Example #4 użycie nazwy podwzorca
<?php

$str = 'foobar: 2008';

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

print_r($matches);

?>

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

Array
(
    [0] => foobar: 2008
    [name] => foobar
    [1] => foobar
    [digit] => 2008
    [2] => 2008
)


   

 


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=1224

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