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是的,谢谢。我原本希望捕获组数组会朝着正确的方向前进,但错误的正则表达式令人困惑。我会修好的。