繁体   English   中英

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","$$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM