preg_replace %{Variable} 与 $variable
preg_replace %{Variable} with $variable
我正在尝试用 php 变量替换 RewriteCondition 中的服务器变量。
例如:
我有以下字符串:
$x="RewriteCond %{HTTP_HOST} ^www";
我想用 $var==
替换 %{VAR}
$x="RewriteCond %{HTTP_HOST} ^www";
preg_replace("/%\{[^}]+)\}/i","$==",$x);
上面的代码不起作用,我从 php 正则表达式解析器收到警告:
compilation failed, unmatched parentheses at offset at
我尝试用反斜杠将替换中的 $ 转义,但也没有解决问题。
功能有问题吗?
错误信息:
Warning: preg_replace(): Compilation failed: unmatched parentheses at offset 8
是正确的。您的正则表达式中有不匹配的括号。第8个字符是)
(https://eval.in/485179)但是没有(
.
这个
$x="RewriteCond %{HTTP_HOST} ^www";
echo preg_replace("/%\{([^}]+)\}/","$==",$x);
会给你:
RewriteCond $HTTP_HOST== ^www
这是一个 regex101 演示:https://regex101.com/r/yB0yQ5/2; and a PHP demo, https://eval.in/485180。
i
修饰符在这里也没有意义,因为您的正则表达式中没有字母字符。如果您打算将来拥有这些,您可以将其添加回来。
我正在尝试用 php 变量替换 RewriteCondition 中的服务器变量。
例如:
我有以下字符串:
$x="RewriteCond %{HTTP_HOST} ^www";
我想用 $var==
替换 %{VAR} $x="RewriteCond %{HTTP_HOST} ^www";
preg_replace("/%\{[^}]+)\}/i","$==",$x);
上面的代码不起作用,我从 php 正则表达式解析器收到警告:
compilation failed, unmatched parentheses at offset at
我尝试用反斜杠将替换中的 $ 转义,但也没有解决问题。
功能有问题吗?
错误信息:
Warning: preg_replace(): Compilation failed: unmatched parentheses at offset 8
是正确的。您的正则表达式中有不匹配的括号。第8个字符是)
(https://eval.in/485179)但是没有(
.
这个
$x="RewriteCond %{HTTP_HOST} ^www";
echo preg_replace("/%\{([^}]+)\}/","$==",$x);
会给你:
RewriteCond $HTTP_HOST== ^www
这是一个 regex101 演示:https://regex101.com/r/yB0yQ5/2; and a PHP demo, https://eval.in/485180。
i
修饰符在这里也没有意义,因为您的正则表达式中没有字母字符。如果您打算将来拥有这些,您可以将其添加回来。