如何解决Preg_match警告?

时间:2014-01-24 18:09:50

标签: preg-match

我在我的程序中使用preg_match函数。代码就像这样

if (!$this->config_allow_src_above_docroot && !preg_match('^'.preg_quote(str_replace(DIRECTORY_SEPARATOR, '/', realpath($this->config_document_root))), $AbsoluteFilename))

但运行应用程序会显示类似这样的警告

Warning: preg_match() [function.preg-match]: No ending delimiter '^' 

你能帮我吗...

1 个答案:

答案 0 :(得分:0)

您必须添加模式分隔符:

preg_match('/^' . preg_quote(str_replace(DIRECTORY_SEPARATOR, '/', realpath($this->config_document_root))) . '/', $AbsoluteFilename)
            ^                                                                                                 ^

由于您忘记在您的模式中放置分隔符,因此正则表达式引擎认为^是起始分隔符,并且很惊讶在模式的末尾没有找到相同的分隔符。