1

我正在使用 preg_match_all 导入图像

目前工作:

 //get image url from url
   preg_match_all('/<img[^>]+>/i',$file->body, $images);

我试过这个:

 //get image url from url
   preg_match_all('/<img id="charity"[^>]+>/i',$file->body, $images);

一旦更改,我会收到 500 服务器错误,所以我认为我的语法是错误的。如何正确更改它以使其正常工作?

4

1 回答 1

0

那个正则表达式似乎没问题。你的错误一定是其他的。

您可以使用以下方法对其进行测试:

<?php
$test='
<img src="http://example.com/image.jpg"/>
foo bar
<img id="charity" src="local/image.jpg"/>
';
preg_match_all('/<img[^>]+>/i',$test, $images);
print_r($images);
preg_match_all('/<img id="charity"[^>]+>/i',$test, $images);
print_r($images);

输出:

Array
(
    [0] => Array
        (
            [0] => <img src="http://example.com/image.jpg"/>
            [1] => <img id="charity" src="local/image.jpg"/>
        )

)
Array
(
    [0] => Array
        (
            [0] => <img id="charity" src="local/image.jpg"/>
        )

)

使用 PHP 5.2.13 测试。

于 2013-08-24T12:50:58.377 回答