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