Php 以不同的方式处理preg_replace_回调中的字符串部分

Php 以不同的方式处理preg_replace_回调中的字符串部分,php,preg-replace,preg-replace-callback,Php,Preg Replace,Preg Replace Callback,我得到了一个字符串,其中替换了所有出现的[code]…[/code]。通过preg\u replace\u callback我可以调用一个函数来处理这些标记的内容。但是我如何操作这些事件周围的所有字符串呢 例如: $str = "Hello, I am a string with [CODE]some code[/CODE] in it"; 现在,通过preg\u replace\u回调我操作[code]的内容,在本例中是一些代码。但是我希望这个字符串中的所有其他文本,所以您好,我是一个字符串

我得到了一个字符串,其中替换了所有出现的
[code]…[/code]
。通过
preg\u replace\u callback
我可以调用一个函数来处理这些标记的内容。但是我如何操作这些事件周围的所有字符串呢

例如:

$str = "Hello, I am a string with [CODE]some code[/CODE] in it";
现在,通过
preg\u replace\u回调
我操作
[code]
的内容,在本例中是
一些代码
。但是我希望这个字符串中的所有其他文本,所以
您好,我是一个字符串,其中有
,以执行不同的操作。我怎样才能做到最好

谢谢你的帮助


Flo

如果我能看到正则表达式,那就简单多了,但要点是我想你需要捕获组


您应该能够通过将这些区域放入括号中的组来分别访问这些区域。每个部分都可用于回调。因此(粗略地说)像
/(.*)(\[code\].\[/code\])(.*)/
这样的东西应该向回调传递一个匹配数组

Regex应该是
/(.*)(\[code\].\[\/code\])(.*)/
,不是吗<代码>\[code\]
接受
[code]
,而第二个代码是
[/code]
@KonstantinNaryshkin是的,谢谢。我原本希望捕获组数组会朝着正确的方向前进,但错误的正则表达式令人困惑。我会修好的。