gpt4 book ai didi

php - 如何在php中提取字符串的一部分

转载 作者:搜寻专家 更新时间:2023-10-31 20:56:33 24 4
gpt4 key购买 nike

我正在使用 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 in between 12345$match[1]=in between 

but I am using same logic to extract from the following string.

<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 不返回任何东西....出于某种原因...我该怎么做?提前致谢

最佳答案

如果你想提取文本,你可能想使用 preg_match .以下可能有效:

preg_match('#\<P[^\>]*\>\<FONT[^\>]*\>(.*\</id\>)#', $string, $matches)

括号中匹配的任何内容都可以稍后在 $matches 中找到大批。在这种情况下,介于 <P> 之间的所有内容标签后跟 <FONT>标记和 </id> ,包括后者。

以上正则表达式未经测试,但可能会让您大致了解如何进行测试。如果您的需求有所不同,请进行调整 :)

关于php - 如何在php中提取字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/736889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com