嘿,人们怎样才能从这样的文字中提取图像:
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]
。
很难吗?
答案 0 :(得分:1)
试试这个:
preg_match_all('!\[IMG2;(.*?(?:jpg|png|gif))!i', $value->CORPO , $matches);
答案 1 :(得分:0)
您可以使用此模式:
$pattern = '~\[IMG2;\K[^];]++~i';
preg_match_all($pattern, $value->CORPO, $matches);
如果您想查看扩展程序:
$pattern = '~\[IMG2;\K[^];]+\.(?:jpeg|png|gif)(?=[];])~i';
答案 2 :(得分:0)
您可能想要转义方括号
\[IMG2;[a-z0-9\-./]+\.(?:jpeg|png|gif)