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

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

echo $src;

imgタグから値を取得したいのですがsrc、おそらくalt値です

4

9 に答える 9

2

質問で示したように、常にimghtmlを取得していると仮定します。

正規表現で、src属性の後に、imgの終了タグが指定されていることを示しました。しかし、文字列にはalt属性もあります。だからあなたもそれを気にする必要があります。

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

また、altをチェックする場合は、正規表現もチェックします。

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

また、一致しているかどうかを確認しているだけです。一致を取得する必要がある場合は、一致で埋める3番目のパラメーターを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文字列を指定できれば、より強力な正規表現が提供されます。

于 2012-07-10T04:51:29.740 に答える
1

テストされたコード:

$ input=’&lt;img src= ”http://www.site.com/file.png” > ‘;
preg_match(“&lt;img.*?src=[\"\"'](?<url>.*?)[\"\"'].*?>”,$input,$output);
echo $output;   // output = http://www.site.com/file/png
于 2012-12-26T12:50:02.187 に答える
1
 function scrapeImage($text) {
    $pattern = '/src=[\'"]?([^\'" >]+)[\'" >]/';
    preg_match($pattern, $text, $link);
    $link = $link[1];
    $link = urldecode($link);
    return $link;

}
于 2012-07-10T06:23:51.827 に答える
0

PHPを使用してHTMLからimgsrc、title、altを抽出する方法は?

この投稿の最初の回答を参照してください。

少し異なる方法でpreg_matchを使用します。

于 2012-07-10T04:10:48.293 に答える
0

このコードを試してください:

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

foreach($imageTags as $tag) {
    echo $tag->getAttribute('src');
}
?>
于 2012-07-10T04:15:29.900 に答える
0
preg_match('/<img src=\("|')([^\"]+)\("|')[^\>]?>/', $img);
于 2012-07-10T04:20:30.977 に答える
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);
?>
于 2012-07-10T06:21:54.163 に答える
0

あなたはすでに上記で十分な応答を持っていますが、ここに別の1つのコード(より普遍的)があります:

function retrieve_img_src($img) {
  if (preg_match('/<img(\s+?)([^>]*?)src=(\"|\')([^>\\3]*?)\\3([^>]*?)>/is', $img, $m) && isset($m[4]))
    return $m[4];
  return false;
}
于 2015-11-21T04:47:12.937 に答える
-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>
于 2012-07-10T04:38:30.867 に答える