2010-01-08 33 views
7

Cú pháp chính xác cho cụm từ thông dụng là gì để tìm nhiều lần xuất hiện của cùng một chuỗi với preg_match trong PHP?PHP preg_match để tìm nhiều lần xuất hiện

Ví dụ tìm thấy nếu chuỗi sau đây xảy ra hai lần trong một đoạn như sau:

$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

Hãy thử với http: // www .regex-tester.de/regex.html – Gordon

Trả lời

23

Bạn muốn sử dụng preg_match_all(). Đây là cách nó sẽ tìm trong mã của bạn. Chức năng thực tế trả về số lượng các mặt hàng được tìm thấy, nhưng các mảng $matches sẽ giữ kết quả:

<?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"; 
} 
?> 

Will đầu ra:

2 trận tìm thấy

+0

Tôi nhận được cảnh báo Thông báo thời gian tham gia cuộc gọi không được chấp nhận. – Dipen

+5

xóa "&" khỏi "& $ đối sánh" – Sam

Các vấn đề liên quan