У меня есть m3u файл, который содержит строки, как, например:PHP Regexp для получения переменной = «значение» из строки
#EXTINF:0 $ExtFilter="Viva" group-title="Variedades" tvg-logo="logo/Viva.png" tvg-name="Viva"
я запускаю это в PHP без успеха:
preg_match('/([a-z0-9\-_]+)=\"([a-z0-9\-_\s.]+)\"\s+/i',$str,$matches)
Я хочу get:
$matches[0] = $ExtFilter
$matches[1] = Viva
$matches[2] = group-title
$matches[3] = Variedades
$matches[4] = tvg-logo
$matches[5] = logo/Viva.png
$matches[6] = tvg-name
$matches[7] = Viva
Я стараюсь использовать инструменты регулярного выражения (например, this).
Thank u.
У вас есть только две группы захвата в вашем регулярном выражении, как вы ожидаете, что он захватит 8 значений? Взгляните на 'preg_match_all()', если вы хотите повторно сопоставлять. – Barmar
Также обратите внимание, что группы захвата начинаются с 1. '$ matches [0]' является совпадением для всего regexp. – Barmar