PHP preg_match_all语法

时间:2013-08-24 12:25:56

标签: php

我正在使用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服务器错误,所以我认为我的语法是错误的。如何正确地改变它才能正常工作?

1 个答案:

答案 0 :(得分: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进行测试。