我已经搜索了其他问题,但由于我不是PHP编码器,我无法弄清楚我在做什么错误时尝试修复它。preg替换错误
这里是我的代码:
$urlno = preg_replace("http://","",$m[m_siteurl]);
和
if (!preg_match($admfile, $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
我想不出哪里放或放什么作为分隔符。
我已经搜索了其他问题,但由于我不是PHP编码器,我无法弄清楚我在做什么错误时尝试修复它。preg替换错误
这里是我的代码:
$urlno = preg_replace("http://","",$m[m_siteurl]);
和
if (!preg_match($admfile, $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
我想不出哪里放或放什么作为分隔符。
您必须为您的正则表达式和可选修饰符使用分隔符。这可能是任何字符 - 即~
,或/
$urlno = preg_replace("~http://~", "", $m['m_siteurl']);
顺便说一句 - 你并不真正需要的正则表达式在这里..只是使用str_replace函数
$urlno = str_replace("http://", "", $m['m_siteurl']);
代替的preg_match,你也可以使用strpos
if (!strpos($_SERVER['PHP_SELF'], $admfile) !== false) { die ("Access Denied"); }
,或者如果你想的preg_match ..
if (!preg_match('~' . preg_quote($admfile, '~') . '~', $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
谢谢你的工作。 – user3341067
最后一个是这个似乎无法工作的这个,你能修好这个吗? if(!preg_match($ admfile,$ _SERVER ['PHP_SELF'])){die(“Access Denied”); – user3341067
你真棒,非常感谢你。 – user3341067
您可以使用str_replace而不是preg_replace,它的内存密集程度较低。
$urlno = str_replace('http://','',$m['m_siteurl']);
这里阅读本手册第一 – Nambi
使用str_replace函数和你做......什么都重要 - 作为nambi写的...... – roman
什么是需要这里的正则表达式?不会[str_replace()](http://php.net/str_replace)就够了吗? –