正则表达式获取2个字符串之间的文本

时间:2011-01-11 20:16:12

标签: php regex

嗨我需要获得2个字符串之间的内容,类似于这样的标签:

[code]
some text and 
new line 
[/code]

我尝试使用这个正则表达式,但它只能在没有新行的情况下运行:

preg_match("/\[view\](.*)\[\/view\]/",$string, $results);

我需要一些适用于换行符的东西!以及我在这两个“标签”之间放置的任何字符 任何的想法 ?

1 个答案:

答案 0 :(得分:9)

使用通话中的s修饰符进行多行搜索:

preg_match("/\[view\](.*)\[\/view\]/s",$string, $results);

最后,您不应该使用正则表达式来进行复杂的解析。这不符合工作要求。找到适合您目的的标记语言,并使用现有的库来解析它。