2010-01-08 10 views
7

Jaka jest prawidłowa składnia wyrażenia regularnego, aby znaleźć wiele wystąpień tego samego ciągu z preg_match w PHP?PHP preg_match, aby znaleźć wiele wystąpień

Na przykład dowiedzieć, czy następujący ciąg występuje dwa razy w następnym akapicie:

$string = "/brown fox jumped [0-9]/"; 

$paragraph = "The brown fox jumped 1 time over the fence. The green fox did not. Then the brown fox jumped 2 times over the fence" 

if (preg_match($string, $paragraph)) { 
echo "match found"; 
}else { 
echo "match NOT found"; 
} 
+0

Spróbuj z http: // www .regex-tester.de/regex.html – Gordon

Odpowiedz

23

Chcesz użyć preg_match_all(). Oto, jak będzie wyglądać w twoim kodzie. Rzeczywista funkcja zwraca liczbę przedmiotów znalezionych, ale tablica $matches odbędzie wyniki:

<?php 
$string = "/brown fox jumped [0-9]/"; 

$paragraph = "The brown fox jumped 1 time over the fence. The green fox did not. Then the brown fox jumped 2 times over the fence"; 

if (preg_match_all($string, $paragraph, &$matches)) { 
    echo count($matches[0]) . " matches found"; 
}else { 
    echo "match NOT found"; 
} 
?> 

wyświetli: znaleziono

2 meczów

+0

Otrzymuję ostrzeżenie. Przekazywanie po terminie odwołań zostało wycofane. – Dipen

+5

usuń "&" z "& $ mecze" – Sam

Powiązane problemy