PHP正则表达式在BBCode标记之间获取文本

PHP正则表达式在BBCode标记之间获取文本,php,regex,Php,Regex,我需要以下PHP代码的帮助: 获取给定字符串中BBCode标记[code]和[/code]每次出现之间的文本,这样我就可以用nbsp字符替换空格“” 长话短说,我不能使用CSS或DOM来做这件事,我需要在服务器上做这件事 #[code](.*)[/code]#似乎只有在开始标记和结束标记之间没有换行符(或换行符)时才起作用(我想你在寻找这样的东西 <?php preg_match_all("/\[code\](.*?)\[\/code\]/ism", $search, $match);

我需要以下PHP代码的帮助:

获取给定字符串中BBCode标记[code]和[/code]每次出现之间的文本,这样我就可以用nbsp字符替换空格“”

长话短说,我不能使用CSS或DOM来做这件事,我需要在服务器上做这件事


#[code](.*)[/code]#似乎只有在开始标记和结束标记之间没有换行符(或换行符)时才起作用(

我想你在寻找这样的东西

<?php
preg_match_all("/\[code\](.*?)\[\/code\]/ism", $search, $match);

我想你在找这样的东西

<?php
preg_match_all("/\[code\](.*?)\[\/code\]/ism", $search, $match);

这太贪婪了。需要使用(.*)这样您就可以得到代码块的每个实例。这很有效!但是,我如何替换它匹配的所有内容中的空格“”,并在结尾返回整个修改后的字符串?谢谢!@Martin。我如何更改它,以便可以将空格替换为。您的模式为我提供了一个包含字符之间文本的字符串数组e标记,但是我如何替换那里的空格,然后用现在修改过的空格返回所有原始字符串呢?不管怎样,我是通过一系列str_replace调用得到的。我并不感到自豪的糟糕编程,但它可以工作。谢谢你的帮助@Martin and jasonbar。@Max对不起,我没有回答你关于空格的问题,我今天过得不好,忘了我以前是怎么做的。回调!在这里,我编辑了我的答案,所以你可以少用一些蹩脚的代码:)这太贪婪了。需要使用(.*)以便获得代码块的每个实例。这很有效!但是,如何替换与之匹配的所有内容中的空格“”,并在结尾返回整个修改后的字符串?谢谢@马丁。如何更改此选项,以便可以将空格替换为。您的模式为我提供了一个字符串数组,其中包含代码标记之间的文本,但我如何替换其中的空格,然后用现在修改的空格返回所有原始字符串?不管怎样,我是通过一系列str_replace调用得到的。糟糕的编程,我并不感到自豪,但它会起作用的。谢谢你的帮助@Martin and jasonbar@Max很抱歉,我没有回答你关于空间的问题,我今天过得不好,忘了以前是怎么做的。回电话!在这里,我已经编辑了我的答案,所以您可以使用更少的蹩脚代码:)