0

在一个字符串中,我有这样的东西:

[select|blog]
    Some text some text some text
[/select]

more text more text more text

[select|information]
    Some text some text some text
[/select]

现在使用 preg_match 我希望函数:

  • 获取 [select] 标签之间的文本
  • 更改
  • 将其重新插入字符串
  • 删除选择标签

所以最终它会变成这样:

Changed text1 Changed text1 Changed text1

more text more text more text

Changed text2 Changed text2 Changed text2

希望你们能帮帮我。谢谢!:)

4

1 回答 1

2

这个正则表达式会让你开始

\[.*?](.*?)\[.*?]

把允许点的选项放在上面。匹配新行

括号内的文本在第 1 组中

我来自 .NET 世界,所以我会使用一个函数来解决这个问题,我可以在每场比赛后执行该函数。这个函数的输入是匹配。如果您需要访问第 1 组并重写或放置新内容,您可以在此处进入第 1 组。

我刚刚在评论中读到 php 中的等价物是preg_replace_callback()

于 2012-06-09T12:24:01.683 回答