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

发布于 2025-01-08 09:50:29 字数 470 浏览 2 评论 0原文

我得到了一个字符串,其中替换了所有出现的 [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 within 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

水波映月 2025-01-15 09:50:29

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

您应该能够通过将这些区域放入括号括起来的组中来单独访问这些区域。每个部分都可供您回调。因此(粗略地)类似 /(.*)(\[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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文