[英]preg_replace %{Variable} with $variable
我正在尝试用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 ),但没有(
。
这个
$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
修饰符在这里也没有意义,因为您的正则表达式中没有字母字符。 如果您计划将来拥有这些功能,则可以重新添加。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.