首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >preg_replace %{Variable}与$variable

preg_replace %{Variable}与$variable
EN

Stack Overflow用户
提问于 2015-12-15 02:51:34
回答 1查看 270关注 0票数 0

我试图用php变量替换RewriteCondition中的服务器变量。

前瞻:

我有以下字符串:

代码语言:javascript
复制
$x="RewriteCond %{HTTP_HOST} ^www";

我想用$var==替换%{VAR}

代码语言:javascript
复制
 $x="RewriteCond %{HTTP_HOST} ^www";
preg_replace("/%\{[^}]+)\}/i","$$1==",$x);

上面的代码不起作用,我收到了来自php regex解析器的警告:

代码语言:javascript
复制
compilation failed, unmatched parentheses at offset at

我试图用反斜杠替换$,但它也解决不了这个问题。

这个功能有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-15 04:27:11

错误信息:

警告: preg_replace():编译失败:偏移量8处的不匹配括号

是对的。在正则表达式中有不可匹配的括号。第八个字符是) (https://eval.in/485179),但没有(

代码语言:javascript
复制
$x="RewriteCond %{HTTP_HOST} ^www";
echo preg_replace("/%\{([^}]+)\}/","$$1==",$x);

会给你:

代码语言:javascript
复制
RewriteCond $HTTP_HOST== ^www

这里有一个regex101演示:https://regex101.com/r/yB0yQ5/2;和一个PHP演示,https://eval.in/485180

i修饰符在这里也没有意义,因为正则表达式中没有alpha字符。如果你打算在将来拥有这些,你可以把它加回去。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34280332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档