Hey people how can I extract an image from text like this:
嘿人们如何从文本中提取图像,如下所示:
bla bla bla bl [IMG2;DanilaCarneiro_capa2.jpg;D], bla bla bla , [IMG2;abcsd.jpg;E], bla bla
bla bla bla bl [IMG2; DanilaCarneiro_capa2.jpg; D],bla bla bla,[IMG2; abcsd.jpg; E],bla bla
What I did:
我做了什么:
preg_match_all('![IMG2;[a-z0-9\-\.\/]+\.(?:jpeg|png|gif)!Ui' , $value->CORPO , $matches);
preg_match_all('![IMG2; [a-z0-9 \ - \。\ /] + \。(?:jpeg | png | gif)!Ui',$ value-> CORPO,$ matches);
but it just give the last name for example DanilaCarneiro_capa2.jpg
give -> capa2.jpg
, i need DanilaCarneiro_capa2.jpg
and this [IMG2;DanilaCarneiro_capa2.jpg;D]
.
但它只是给出了姓氏,例如DanilaCarneiro_capa2.jpg给 - > capa2.jpg,我需要DanilaCarneiro_capa2.jpg和[IMG2; DanilaCarneiro_capa2.jpg; D]。
Is very difficult?
是很困难的?
3 个解决方案
#1
1
Try this:
preg_match_all('!\[IMG2;(.*?(?:jpg|png|gif))!i', $value->CORPO , $matches);
#2
0
You might want to escape the square bracket
您可能想要转义方括号
\[IMG2;[a-z0-9\-./]+\.(?:jpeg|png|gif)
#3
0
You can use this pattern:
你可以使用这种模式:
$pattern = '~\[IMG2;\K[^];]++~i';
preg_match_all($pattern, $value->CORPO, $matches);
If you want to check the extension:
如果要查看扩展名:
$pattern = '~\[IMG2;\K[^];]+\.(?:jpeg|png|gif)(?=[];])~i';
#1
1
Try this:
preg_match_all('!\[IMG2;(.*?(?:jpg|png|gif))!i', $value->CORPO , $matches);
#2
0
You might want to escape the square bracket
您可能想要转义方括号
\[IMG2;[a-z0-9\-./]+\.(?:jpeg|png|gif)
#3
0
You can use this pattern:
你可以使用这种模式:
$pattern = '~\[IMG2;\K[^];]++~i';
preg_match_all($pattern, $value->CORPO, $matches);
If you want to check the extension:
如果要查看扩展名:
$pattern = '~\[IMG2;\K[^];]+\.(?:jpeg|png|gif)(?=[];])~i';