我正在尝试使用preg_replace匹配标签。使用的正则表达式是:<video[^>]*>(.*?)</video>
但我收到服务器警告:Message: preg_replace() [function.preg-replace]: Unknown modifier ']'
有关原因的任何线索?
另外,我如何修改正则表达式以便它可以匹配[video]标签?
谢谢!
答案 0 :(得分:2)
不要忘记根据preg_
函数的要求划分正则表达式。通常我们会写/regex/
,但任何分隔符都会写。
由于你的正则表达式包含/
,我会选择%
,以避免转义它。
%<video[^>]*>(.*?)</video>%
当然,要注意通过正则表达式试图弄乱HTML的危险。会有问题。一如既往。
如果您想要[video]
,只需将所有<>
替换为[]
- 但请记住要逃避它们,因为[
和]
在常规中很重要表达式!
%\[video[^\]]*\](.*?)\[/video\]%