[{和}]之间的preg_replace

时间:2013-10-07 07:57:05

标签: php preg-replace

我有这个字符串:
    

$string='My String [{Text_001}] My String [{Text_002}] ';

我想用$ something替换preg_replace [{something}](例如:[{Text_001}] - > $ Text_001)。

我的preg_replace中有错误:

$string = preg_replace('/([{.+?)+(}])/i', "$1", $string);

3 个答案:

答案 0 :(得分:0)

\[ and { have a special meaning in PCRE(加上你的regexp格式不正确)。逃避他们:

$string = preg_replace('/(\\[\\{(.+?)\\}\\])/i', "$1", $string);

答案 1 :(得分:0)

$string = preg_replace('~\[\{(.+?)\}\]~', "\$$1", $string);
# My String $Text_001 My String $Text_002

Explanation example

答案 2 :(得分:0)

使用:

<?php
$string='My String [{Text_001}] My String [{Text_002}] ';

$string = preg_replace("~".preg_quote('[{')."(.*?)".preg_quote('}]')."~","something", $string);

echo $string;
?>

[{something}]替换为something之后的输出:

My String something My String something