Замена HTML-тега на preg_replace - PullRequest
0 голосов
/ 21 июля 2010

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

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

Любые подсказки, почему?

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

Спасибо!

1 Ответ

2 голосов
/ 21 июля 2010

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

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

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

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

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

%\[video[^\]]*\](.*?)\[/video\]%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...