我正在使用 preg_replace() 进行一些字符串替换。
$str = "<aa>Let's find the stuff qwe in between <id>12345</id> these two previous brackets</h>";
$do = preg_match("/qwe(.*)12345/", $str, $matches);
这工作得很好,并给出以下结果
$match[0]=qwe 在 12345 之间 $match[1]=介于两者之间
但我使用相同的逻辑从以下字符串中提取。
<text>
<src><![CDATA[<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Arial" SIZE="36" COLOR="#999999" LETTERSPACING="0" KERNING="0">r1 text 1 </FONT></P></TEXTFORMAT>]]></src>
<width>45%</width>
<height>12%</height>
<left>30.416666666666668%</left>
<top>3.0416666666666665%</top>
<begin>2s</begin>
<dur>10s</dur>
<transIn>fadeIn</transIn>
<transOut>fadeOut</transOut>
<id>E2159292994B083ACA7ABC7799BBEF3F7198FFA2</id>
</text>
我想从中提取字符串
r1text1
至
</id>
我目前拥有的正则表达式是:
preg_match('/r1text1(.*)</id\>/', $metadata], $matches);
其中 $metadata 是上面的字符串..
$matches 不返回任何内容....出于某种原因...我该怎么做?提前致谢