Hàm mb_eregi() (multibyte ereg ignore case) thực hiện regex match không phân biệt chữ hoa/thường với hỗ trợ multibyte.
Lưu ý: Hàm này đã deprecated từ PHP 5.3.0 và xóa bỏ từ PHP 7.0.0. Nên dùng mb_ereg() với option 'i' hoặc preg_match() với modifier i thay thế.
Cú pháp (legacy)
bool mb_eregi(
string $pattern,
string $string,
array &$matches = null
)
Tham số
$pattern– Pattern regex (ví dụ:"or").$string– Chuỗi tìm kiếm.$matches– Mảng chứa kết quả match (nếu có). Phần tử 0 = full match, 1,2... = capture groups.
Giá trị trả về
Trả về 1 nếu match, 0 nếu không match, false nếu lỗi.
Ví dụ (legacy)
<?php
mb_regex_encoding("UTF-8");
$result = mb_eregi("or", "Hello World");
var_dump($result); // int(1) - match
?>
Thay thế hiện đại (PHP 7+)
<?php
// Cách 1: mb_ereg với option 'i'
$result = mb_ereg("or", "Hello World", $matches, "i");
var_dump($result, $matches);
// Cách 2: preg_match với modifier 'i' (PCRE, nhanh hơn, feature-rich)
$result = preg_match("/or/i", "Hello World", $matches);
var_dump($result, $matches);
?>
Lưu ý quan trọng
mb_eregi()dùng engine Oniguruma (regex engine của mbstring).preg_match()dùng PCRE – khác syntax một chút (cần delimiter/.../).- Khuyến nghị: Dùng
preg_match()cho đa số trường hợp,mb_ereg()chỉ khi cần tính năng Oniguruma đặc biệt.