Olası Çoğalt:Preg_match'ten sadece adlandırılmış yakaları nasıl alabilirim?
$string = 'Hello, my name is Linda. I like Pepsi.'; $regex = '/name is (?<name>[^.]+)\..*?like (?<likes>[^.]+)/'; preg_match($regex, $string, $matches); print_r($matches);
Bu baskılar:
Array ( [0] => name is Linda. I like Pepsi [name] => Linda [1] => Linda [likes] => Pepsi [2] => Pepsi )
nasıl yapabilirim ge
how to force preg_match preg_match_all to return only named parts of regex expression
Bu pasajı var Sadece geri dönmek için t:
Array
(
[name] => Linda
[likes] => Pepsi
)
sonuç dizinin filtreleme başvurmadan:
foreach ($matches as $key => $value) {
if (is_int($key))
unset($matches[$key]);
}
'foreach { if (is_int ($ k)) { unset ($ maçlar [$ ($ k => $ v olarak $ maçları) sayısal endeksleri dönecektir k]); } } 'sayısal tuşları ayırmak ve yalnızca adlandırılmış olanları tutmak. – Radu