Php 从字符串中删除RTF标记

Php 从字符串中删除RTF标记,php,regex,Php,Regex,有人知道任何库或正则表达式模式可以字符串化所有RTF标记吗?例如,使用以下字符串: {\field\flddirty{\*\fldinst ref {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\insrsid11370280\charrsid4074187 MERG}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\insrsid15665935 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\insrsid11370280\

有人知道任何库或正则表达式模式可以字符串化所有RTF标记吗?例如,使用以下字符串:

{\field\flddirty{\*\fldinst ref {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\insrsid11370280\charrsid4074187  MERG}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\insrsid15665935 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\insrsid11370280\charrsid4074187 EFIELD details_awardee_name }}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1024\langfe1024\noproof\insrsid11370280\charrsid4074187 \'abdetails_awardee_name\'bb}}}

这应该简化为
MERGEFIELD details\u awardee\u name

因为我不知道解析(RTF)嵌套标记的规则,所以我只发布了这篇文章,看起来
过滤一些杂波

   # Raw:        \\[^\s]*\s*|[{}]+\s*
   # Delimited:  '/\\\[^\s]*\s*|[{}]+\s*/'

   \\ [^\s]* \s* 
|  [{}]+ \s* 
Perl测试用例-

$/ = undef;
$str = <DATA>;

$str =~ s/\\[^\s]*\s*|[{}]+\s*//g;

print "'$str'\n";

__DATA__
{\field\flddirty{\*\fldinst ref {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\insrsid11370280\charrsid4074187  MERG}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\insrsid15665935 
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\insrsid11370280\charrsid4074187 EFIELD details_awardee_name }}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1024\langfe1024\noproof\insrsid11370280\charrsid4074187 \'abdetails_awardee_name\'bb}}}

好奇:这个输入来自何处,用于何处?未测试:Wesley,这是我之前启动的一个线程的后续问题,@jason请在这个问题中包含所有相关信息。谢谢。在PHP中,它被转换成如下形式:preg\u replace('/\\\[^\\s]*\\s*\\\[{}]+\\s*/','$foundString);
'ref MERGEFIELD details_awardee_name '