$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,title和alt?
请参阅这篇文章的第一个答案。
您将使用preg_match,只是方式略有不同。
试试这段代码:
<?php
$doc = new DOMDocument();
$doc->loadHTML('<img src="" />');
$imageTags = $doc->getElementsByTagName('img');
foreach($imageTags as $tag) {
echo $tag->getAttribute('src');
}
?>
你也可以使用这个库: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);
?>
preg_match('/<img src='("|')([^'"]+)'("|')[^'>]?>/', $img);
你上面已经有足够好的回应,但这是另一个代码(更通用(:
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>