Проверьте регулярные выражения php - PullRequest
1 голос
/ 09 сентября 2011

У меня есть строка с таким количеством «коротких кодов» (просто на примере):

$str = "[video src="http://www.aaa..." options="autoplay controls loop mute"]\n
        [video src=" http://www.bbb..." options="autoplay controls loop mute"]";

Я пытаюсь сопоставить каждый из них независимо, используя preg_match (), таким образом:

pregmatch( '/\[video.*\]/', $str, $matches );

Теперь я ожидаю, что count($matches); вернет '2'. Но я получаю только 1 каждый раз. Мое регулярное выражение неправильно? Мне нужно присоединить каждый [video ...... ] к новому элементу массива, чтобы я мог работать с ними индивидуально.

Спасибо

1 Ответ

2 голосов
/ 09 сентября 2011

Вам нужно использовать preg_match_all:

preg_match_all( '/\[video.*\]/', $str, $matches );

Посмотреть

...