以不同的方式处理preg_replace_callback中的字符串部分


handle parts of string in preg_replace_callback differently

我得到了一个字符串,其中我替换了所有出现的[CODE]...[/CODE]。使用preg_replace_callback,我可以调用一个处理这些标签内容的函数。但是,我如何操作这些事件周围的所有字符串呢?

示例:

$str = "Hello, I am a string with [CODE]some code[/CODE] in it";

现在,使用preg_replace_callback,我操作[CODE]的内容,在本例中为some code。但我希望这个字符串中的所有其他文本,所以Hello, I am a string within it可以做一些不同的事情。我怎么能做到最好呢?

谢谢你的帮助!

Flo

如果我能看到正则表达式会更简单,但要点是我认为你想要捕获组。

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