Замена html-тега на preg_replace

Я пытаюсь сопоставить теги с помощью preg_replace. Используемое регулярное выражение: <video[^>]*>(.*?)</video>

Но я получаю предупреждение сервера: Message: preg_replace() [function.preg-replace]: Unknown modifier ']'

Какие-нибудь подсказки о том, почему?

Кроме того, как я могу изменить регулярное выражение, чтобы он мог сопоставлять [видео] теги?

Благодаря!

Не забудьте разграничить ваше регулярное выражение, как это требуется в функциях preg_ . Обычно мы будем писать /regex/ , но любые разделители будут делать.

Поскольку ваше регулярное выражение содержит / , я перейду на % , чтобы избежать его.

 %<video[^>]*>(.*?)</video>% 

Разумеется, следите за опасностями попыток испортить HTML через регулярное выражение. Будут проблемы. Как всегда.

Если вы хотите [video] вместо этого, просто замените все <> на [] – но не забудьте их избежать, поскольку [ и ] значимы в регулярных выражениях!

 %\[video[^\]]*\](.*?)\[/video\]%