文字列の置換に 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]=12345 の間の qwe $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 は何も返しません....何らかの理由で...どうすればいいですか? 前もって感謝します