10/10/2018, 00:20

Hỏi cách lọc chuỗi bằng hàm preg_match()

Tui có string sau:

PHP Code:
$a "
<table class='amnhac'>
<tr>
<td>Noi dung 1</td>
<td>Noi dung 2</td>
</tr>
<tr>
<td>Noi dung 3</td>
<td>Noi dung 4</td>
</tr>
</table>
<table class='tintuc'>
<tr>
<td>Noi dung 1</td>
<td>Noi dung 2</td>
</tr>
<tr>
<td>Noi dung 3</td>
<td>Noi dung 4</td>
</tr>
</table>
"

Bác này biết cách sử dụng hàm preg_match() hay preg_match_all() để lọc ra thành chuỗi:

PHP Code:
$b "
<table class='amnhac'>
<tr>
<td>Noi dung 1</td>
<td>Noi dung 2</td>
</tr>
<tr>
<td>Noi dung 3</td>
<td>Noi dung 4</td>
</tr>
</table>
"

Em viết như vầy:

PHP Code:
<?php
preg_match
('/<table class='amnhac'>(.*?)</table>/'$a$matches);
print_r($matches);
?>

Mà nó chẳng kiếm được cái table. bác nào biết giúp em với!!!
kxd viết 02:24 ngày 10/10/2018
<?php
preg_match("/<table class='amnhac'>(.*?)<\/table>/is", $a, $matches);
print_r($matches[0]);
?>
seaurchin viết 02:30 ngày 10/10/2018
Bác kxd ui, cái "is" đi sau mẫu pattern công dụng nó như thế nào thế. Bác giải thích chút được ko?
kxd viết 02:21 ngày 10/10/2018
i là ko phân biệt hoa thường
s là space
cái nick đó viết 02:28 ngày 10/10/2018
's' modifier tức là so khớp cả các đoạn có xuống dòng chứ bác, chắc bác nhầm với \s trong expression
Bài liên quan
0