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