我有以下获取图像的功能......
function getImages($content){
$regex = '/<img src=\"([^\"]*)(")/iU';
preg_match_all($regex,$content,$match);
var_dump($match);
return $match[0];
}
在这里我称之为......
$link = "http://mydomain.com";
$content = file_get_contents($link);
$img = getImages($content);
echo $img;
它一直很好用,但问题是它向我展示了很多文字以及像
这样的图片array(3) { [0]=> array(27) { [0]=> string(37)
tring(106) "http://cdn3.diggstatic.com/story/reddit_open_to_chat_over_ben_cheezburger_huh_s_proposed_acquisition/t.png" } [2]=> array(27) { [0]=> string(1) """ [1]=> string(1) """ [2]=> string(1) """ [3]=> string(1) """ [4]=> string(1) """ [5]=> string(1) """ [6]=> string(1) """ [7]=> string(1) """ [8]=> string(1) """ [9]=> string(1) """ [10]=> string(1) """ [11]=> string(1) """ [12]=> string(1) """ [13]=> string(1) """ [14]=> string(1) """ [15]=> string(1) """ [16]=> string(1) """ [17]=> string(1) """ [18]=> string(1) """ [19]=> string(1) """ [20]=> string(1) """ [21]=> string(1) """ [22]=> string(1) """ [23]=> string(1) """ [24]=> string(1) """ [25]=> string(1) """ [26]=> string(1) """ } }
虽然我只想获取图片...我如何删除所有文字并获取所有图片
答案 0 :(得分:2)
不要使用正则表达式从html文档中提取标签,请尝试PHP dom extension:
function getImages($content) {
$doc = new DOMDocument();
$doc->loadHTML($content);
$imgElements = $doc->getElementsByTagName('img');
$images = array();
for($i = 0; $i < $imgElements->length; $i++) {
$images[] = $imgElements->item($i)->getAttribute('src');
}
return $images;
}
// usage:
$content = file_get_contents('http://www.example.com/');
$images = getImages($content);
print_r($images);
答案 1 :(得分:0)
从var_dump($match);
功能中删除getImages
。
并且,如果您在执行此操作后绝对没有输出,请将echo $img;
更改为echo $img[0];