以不同方式处理 preg_replace_callback 中的字符串部分
我得到了一个字符串,其中替换了所有出现的 [CODE]...[/CODE]
。使用 preg_replace_callback
我可以调用一个处理这些标签内容的函数。但是我如何操作这些出现的所有字符串呢?
示例:
$str = "Hello, I am a string with [CODE]some code[/CODE] in it";
现在,我使用 preg_replace_callback
操作 [CODE]
的内容,在本例中是一些代码
。但我想要这个字符串中的所有其他文本,所以 Hello, I am a string with
和 in it
来做一些不同的事情。我怎样才能最好地做到这一点?
谢谢你的帮助!
弗洛
I got a string in which I replace all occurrences of [CODE]...[/CODE]
. With preg_replace_callback
can I call a function which handles the content of those tags. But how can I manipulate all string which are around those occurrences?
Example:
$str = "Hello, I am a string with [CODE]some code[/CODE] in it";
Now, with preg_replace_callback
I manipulate the content of [CODE]
, in this case some code
. But I'd like for all other text in this string, so Hello, I am a string with
and in it
to do something different. How could I do this the best way?
Thank you for you help!
Flo
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果我能看到正则表达式,那就更简单了,但要点是我认为你想要捕获组。
您应该能够通过将这些区域放入括号括起来的组中来单独访问这些区域。每个部分都可供您回调。因此(粗略地)类似
/(.*)(\[CODE\].*\[/CODE\])(.*)/
的内容应该将匹配数组传递给您的回调It'd be simpler if I could see the regex, but the gist is that I think you want capture groups.
You should be able to access those regions separately by placing them into parenthesis-wrapped groups. Each section will be available to your callback. So (crudely) something like
/(.*)(\[CODE\].*\[/CODE\])(.*)/
should pass an array of matches to your callback