preg_match() 给出未知修饰符 '$'

Posted

技术标签:

【中文标题】preg_match() 给出未知修饰符 \'$\'【英文标题】:preg_match() giving Unknown modifier '$'preg_match() 给出未知修饰符 '$' 【发布时间】:2012-07-24 07:16:37 【问题描述】:

我有以下代码

function redireectIfNeeded()
$url = $_SERVER["REQUEST_URI"];
if(preg_match("/\.php/$", $url))
    header("Location: ".preg_replace("/\.php/",$url));

这给了我以下错误。

[24-Jul-2012 19:14:18] PHP Warning:  preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Unknown modifier '$' in ../dbc.php on line 223

我知道我需要在某处使用分隔符,但我尝试过的任何方法都不起作用。谁能告诉我我需要做什么?

【问题讨论】:

【参考方案1】:

你必须在 / 之前设置 $

if(preg_match("/\.php$/", $url))
    header("Location: ".preg_replace("/\.php/",$url));

分隔符后可以使用修饰符(s、m 或 i)

【讨论】:

以上是关于preg_match() 给出未知修饰符 '$'的主要内容,如果未能解决你的问题,请参考以下文章

警告:preg_match() [function.preg-match]:未知修饰符“-”

Smarty:如何修复“未知修饰符'rewrite'”异常?

未知修饰符 '/' preg_replace()

我的代码中的未知修饰符[重复]

警告:preg_replace():未知修饰符

警告:preg_replace():未知修饰符“g”