2017-09-08 27 views
0

phpを使って2番目と3番目の画像URLを文字列で取得する方法は?PHPを使用して文字列の2番目と3番目の画像URLを取得するには?

マイ$st_data

<img src="1.jpg"><img src="2.jpg"><img src="3.jpg"> 

で、私はこのコード

<?PHP 
preg_match('/< *img[^>]*src *= *["\']?([^"\']*)/i', $st_data, $img_url); 
echo $img_url[1]; 
echo $img_url[2]; 
echo $img_url[3]; 
?> 

を使用することは、私は私のコードと第二と第三の画像のURLを取得する方法を知りたい、最初の画像のURLをエコーし​​ますです?

答えて

0

preg_matchは、最初のインスタンスにのみ一致します。 preg_match_allを使用する必要があります。正規表現を使用することは必須ではない場合

$st_data = '<img src="1.jpg"><img src="2.jpg"><img src="3.jpg">'; 
preg_match_all('/< *img[^>]*src *= *["\']?([^"\']*)/i', $st_data, $img_url); 

echo $img_url[1][0]; 
echo $img_url[1][1]; 
echo $img_url[1][2]; 
0

:これを試してみてください

$st_data = '<img src="1.jpg"><img src="2.jpg"><img src="3.jpg">'; 

$domd = new DOMDocument(); 
libxml_use_internal_errors(true); 
$domd->loadHTML($st_data); 
libxml_use_internal_errors(false); 

$images = $domd->getElementsByTagName('img'); 

$second = $images[1]->getAttribute('src'); 
$third = $images[2]->getAttribute('src'); 
関連する問題