如何删除某个起始符号及其结束符号,但不删除内容?

时间:2012-10-12 05:51:50

标签: php regex string

考虑这个字符串:

foo{This is my inner content. Hello}

我想用正则表达式做的是让它变成这样:

This is my inner content. Hello

请注意,我只想匹配foo{},将它们放在一起并像这样使用。我不想要,例如,foo2{}

有办法吗?

4 个答案:

答案 0 :(得分:5)

使用:

$str = preg_replace('/foo\{([^}]*)\}/', '$1', $str);

答案 1 :(得分:3)

看起来非常简单:

/foo{(.*?)}/

答案 2 :(得分:2)

您可以使用preg_match

$string = "foo{This is my inner content. Hello}";
preg_match("/\{(.*?)\}/", $string, $match);  
echo $match[1];

答案 3 :(得分:0)

您可以使用:

preg_match('/foo\{(.*)\}/U', $str, $matches);

然后$matches[1]将包含您所追求的字符串。