thể trùng lặp:
how to force preg_match preg_match_all to return only named parts of regex expressionLàm cách nào để chỉ nhận được các ảnh chụp được đặt tên từ preg_match?
Tôi có đoạn này:
$string = 'Hello, my name is Linda. I like Pepsi.';
$regex = '/name is (?<name>[^.]+)\..*?like (?<likes>[^.]+)/';
preg_match($regex, $string, $matches);
print_r($matches);
in này:
Array
(
[0] => name is Linda. I like Pepsi
[name] => Linda
[1] => Linda
[likes] => Pepsi
[2] => Pepsi
)
Làm thế nào tôi có thể ge t nó để trở về chỉ:
Array
(
[name] => Linda
[likes] => Pepsi
)
Nếu không phải dùng đến lọc của mảng kết quả:
foreach ($matches as $key => $value) {
if (is_int($key))
unset($matches[$key]);
}
'foreach (diêm $ như $ k => $ v) { if (is_int ($ k)) { unset ($ trận [$ k]); } } 'để loại bỏ các phím số và chỉ giữ các phím được đặt tên. – Radu