首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >操作preg_replace的'replace‘值

操作preg_replace的'replace‘值
EN

Stack Overflow用户
提问于 2010-10-29 12:49:22
回答 2查看 140关注 0票数 0

我试图用一个大写的拷贝来改变preg_replace中的匹配值,但似乎无法弄清楚……

我试过了:

代码语言:javascript
复制
preg_replace("#\[name=((?:keywords)|(?:description))\]#is", "[name=" . strtoupper($1) . "]" ,$str )

代码语言:javascript
复制
preg_replace("#\[name=((?:keywords)|(?:description))\]#is", "[name={strtoupper($1)}]" ,$str )

但都不管用。

任何帮助都非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-29 13:01:20

可以使用e修改器,如下所示:

代码语言:javascript
复制
preg_replace("#\[name=((?:keywords)|(?:description))\]#ise", "'[name='.strtoupper('\\1'). ']'" ,$str )
票数 2
EN

Stack Overflow用户

发布于 2010-10-29 12:57:30

为此,您可以使用回调函数和preg_replace_callback

例如(未测试):

代码语言:javascript
复制
preg_replace(
    "#\[name=((?:keywords)|(?:description))\]#is",
    create_function('$matches', 'return "[name=" . strtoupper($matches[1]) . "]"'),
    $str
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4049057

复制
相关文章

相似问题

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