如何从img标签获取链接

时间:2012-07-10 04:09:04

标签: php regex url preg-match image

$img = '<img src="http://some-img-link" alt="some-img-alt"/>';

$src = preg_match('/<img src=\"(.*?)\">/', $img);

echo $src;

我想从img标签获取src值,也许是alt值

9 个答案:

答案 0 :(得分:1)

假设你总是得到你在问题中显示的img html。

现在在正则表达式中,你提供了一个说法,在src属性之后给出了img的结束标记。但是在字符串中还有一个alt属性。所以你也需要关心它。

/<img src=\"(.*?)\".*\/>/

如果你要检查alt,那么正则表达式。

/<img src=\"(.*?)\"\s*alt=\"(.*?)\"\/>/

此外,您只是检查它是否匹配。如果你需要获得匹配,你需要为preg_match提供第三个参数,它将填充匹配。

$img = '<img src="http://some-img-link" alt="some-img-alt"/>';
$src = preg_match('/<img src=\"(.*?)\"\s*alt=\"(.*?)\"\/>/', $img, $results);
var_dump($results);

注意:上面给出的正则表达式不是那么通用,如果你能提供将要发生的img字符串,将提供更强大的正则表达式。

答案 1 :(得分:1)

 function scrapeImage($text) {
    $pattern = '/src=[\'"]?([^\'" >]+)[\'" >]/';
    preg_match($pattern, $text, $link);
    $link = $link[1];
    $link = urldecode($link);
    return $link;

}

答案 2 :(得分:1)

经过测试的代码:

$ input=’<img src= ”http://www.site.com/file.png” > ‘;
preg_match(“<img.*?src=[\"\"'](?<url>.*?)[\"\"'].*?>”,$input,$output);
echo $output;   // output = http://www.site.com/file/png

答案 3 :(得分:0)

How to extract img src, title and alt from html using php?

请参阅这篇文章的第一个答案。

你将使用preg_match,只是略有不同。

答案 4 :(得分:0)

试试这段代码:

<?php
$doc = new DOMDocument();
$doc->loadHTML('<img src="" />');
$imageTags = $doc->getElementsByTagName('img');

foreach($imageTags as $tag) {
    echo $tag->getAttribute('src');
}
?>

答案 5 :(得分:0)

preg_match('/<img src=\("|')([^\"]+)\("|')[^\>]?>/', $img);

答案 6 :(得分:0)

您也可以使用此库:SimpleHtmlDom

<?php
$html = new simple_html_dom();
$html->load('<html><body><img src="image/profile.jpg" alt="profile image" /></body></html>');
$imgs = $html->find('img');
foreach($imgs as $img)
print($img->src);
?>

答案 7 :(得分:0)

上面已经有足够好的回复,但这是另一个代码(更通用):

function retrieve_img_src($img) {
  if (preg_match('/<img(\s+?)([^>]*?)src=(\"|\')([^>\\3]*?)\\3([^>]*?)>/is', $img, $m) && isset($m[4]))
    return $m[4];
  return false;
}

答案 8 :(得分:-2)

您可以使用JQuery获取src和alt属性

在标题中包含jquery

 <script type="text/javascript" 
           src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
 </script>

// HTML            

//获取src和alt属性

<script type='text/javascript'>
 // src attribute of first image with id =imgId

 var src1= $('#imgId1').attr('src');
 var alt1= $('#imgId1').attr('alt');

 var src2= $('#imgId2').attr('src');
 var alt2= $('#imgId2').attr('alt');
</script>