0

嘿,人们如何从这样的文本中提取图像:

bla bla bla bl [IMG2;DanilaCarneiro_capa2.jpg;D], bla bla bla , [IMG2;abcsd.jpg;E], bla bla

我做了什么:

preg_match_all('![IMG2;[a-z0-9\-\.\/]+\.(?:jpeg|png|gif)!Ui' , $value->CORPO , $matches);

但它只是给出姓氏,例如DanilaCarneiro_capa2.jpg给-> capa2.jpg,我需要 DanilaCarneiro_capa2.jpg这个[IMG2;DanilaCarneiro_capa2.jpg;D]

是很困难的?

4

3 回答 3

1

尝试这个:

preg_match_all('!\[IMG2;(.*?(?:jpg|png|gif))!i', $value->CORPO , $matches);
于 2013-09-04T19:46:01.033 回答
0

您可能想转义方括号

 \[IMG2;[a-z0-9\-./]+\.(?:jpeg|png|gif)
于 2013-09-04T19:48:03.080 回答
0

您可以使用此模式:

$pattern = '~\[IMG2;\K[^];]++~i';
preg_match_all($pattern, $value->CORPO, $matches);

如果要检查扩展名:

$pattern = '~\[IMG2;\K[^];]+\.(?:jpeg|png|gif)(?=[];])~i';
于 2013-09-04T19:47:06.070 回答