Я пытаюсь сопоставить теги с помощью preg_replace. Используемое регулярное выражение: <video[^>]*>(.*?)</video>
Но я получаю предупреждение сервера: Message: preg_replace() [function.preg-replace]: Unknown modifier ']'
Какие-нибудь подсказки о том, почему?
Кроме того, как я могу изменить регулярное выражение, чтобы он мог сопоставлять [видео] теги?
Благодаря!
Не забудьте разграничить ваше регулярное выражение, как это требуется в функциях preg_ . Обычно мы будем писать /regex/ , но любые разделители будут делать.
Поскольку ваше регулярное выражение содержит / , я перейду на % , чтобы избежать его.
%<video[^>]*>(.*?)</video>%
Разумеется, следите за опасностями попыток испортить HTML через регулярное выражение. Будут проблемы. Как всегда.
Если вы хотите [video] вместо этого, просто замените все <> на [] – но не забудьте их избежать, поскольку [ и ] значимы в регулярных выражениях!
%\[video[^\]]*\](.*?)\[/video\]%