0

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

What I did:

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].

Is very difficult?

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 に答える