簡體   English   中英

如何從img標簽獲取鏈接

[英]how to get link from img tag

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

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

echo $src;

我想從img標簽獲取src值,也許從alt值獲取

假設您總是得到問題中所示的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字符串,則將提供更強大的正則表達式。

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

}

測試代碼:

$ 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

如何使用php從HTML提取img src,標題和alt?

請參閱此帖子的第一個答案。

您將以略有不同的方式使用preg_match。

試試這個代碼:

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

foreach($imageTags as $tag) {
    echo $tag->getAttribute('src');
}
?>
preg_match('/<img src=\("|')([^\"]+)\("|')[^\>]?>/', $img);

您也可以使用此庫: 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);
?>

上面您已經有足夠好的響應,但是這里是另一個代碼(更通用):

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

您可以使用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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM