我正在尝试用php变量替换RewriteCondition中的服务器变量。
外汇市场:
我有以下字符串:
$x="RewriteCond %{HTTP_HOST} ^www";
我想用$VAR==替换%{VAR}
$x="RewriteCond %{HTTP_HOST} ^www";
preg_replace("/%'{[^}]+)'}/i","$$1==",$x);
上面的代码不起作用,我收到了来自php regex解析器的警告:
compilation failed, unmatched parentheses at offset at
我试图用反斜杠转义替换中的$,但它也没有解决问题。
函数有什么问题吗?
错误消息:
警告:preg_replace():编译失败:偏移量8 处的括号不匹配
是正确的。正则表达式中有不匹配的括号。第8个字符是)
(https://eval.in/485179)但不存在CCD_ 2。
这个
$x="RewriteCond %{HTTP_HOST} ^www";
echo preg_replace("/%'{([^}]+)'}/","$$1==",$x);
会给你:
RewriteCond $HTTP_HOST== ^www
以下是regex101演示:https://regex101.com/r/yB0yQ5/2;以及PHP演示,https://eval.in/485180.
i
修饰符在这里也没有意义,因为你的正则表达式中没有阿尔法字符。如果你将来打算使用这些字符,你可以重新添加。