我正在使用preg_replace()进行一些字符串替换.
$str = "Let's find the stuff qwe in between 12345 these two previous brackets";
$do = preg_match("/qwe(.*)12345/", $str, $matches);
它工作正常,并给出以下结果
$match[0]=qwe in between 12345
$match[1]=in between
但我使用相同的逻辑从以下字符串中提取.
r1 text 1
]]>45%
12%
30.416666666666668%
3.0416666666666665%
2s
10s
fadeIn
fadeOut
E2159292994B083ACA7ABC7799BBEF3F7198FFA2
我想从中提取字符串
r1text1
至
我目前拥有的正则表达式为:
preg_match('/r1text1(.*)/', $metadata], $matches);
其中$metadata是上述字符串.
$matches不返回任何内容.
由于某种原因…我该怎么做?
提前致谢
解决方法:
如果要提取文本,则可能要使用preg_match.以下方法可能会起作用:
preg_match('#\
]*\>\]*\>(.*\)#', $string, $matches)
括号中匹配的内容可以稍后在$matches数组中找到.在这种情况下,< P>标签,后跟< FONT>标签和< / id> ;,包括后者.
上面的正则表达式未经测试,但可能会让您大致了解如何执行此操作.如果您的需求有些不同,请适应:)
标签:text-extraction,php,regex
来源: https://codeday.me/bug/20191210/2103279.html