0

私の画像クラス

$temp=<img class="alignnone wp-image-6" alt="2166105529_70dd50ef4b_n" src="http://192.168.1.12/wordpress/wp-content/uploads/2013/03/2166105529_70dd50ef4b_n-300x175.jpg" width="180" height="105">

width="180"URL ie から幅と高さを取得したいheight="105"

私はすでにそのsrc部分を使用して取得していました

preg_replace('/<img\s.*?\bsrc="(.*?)".*?>/si', $temp, $matches);

$matches= このように抽出された src が含まれています

http://192.168.1.12/wordpress/wp-content/uploads/2013/03/2166105529_70dd50ef4b_n-300x175.jpg

正規表現または他の方法を使用して幅と高さを抽出する方法も受け入れられますか??

4

3 に答える 3

4

php で dom クラスを使用する方が良い方法です。はるかに使いやすい。例: http://sandbox.onlinephpfunctions.com/code/c6d89fc6e0803ac38a3bc1ea9c61e081c1b71f08

$dom = new DOMDocument();
$dom->loadHTML('<img class="alignnone wp-image-6" alt="2166105529_70dd50ef4b_n" src="http://192.168.1.12/wordpress/wp-content/uploads/2013/03/2166105529_70dd50ef4b_n-300x175.jpg" width="180" height="105">');

$img = $dom->getElementsByTagName('img');

$src= $img->item(0)->getAttribute('src'); 
$width= $img->item(0)->getAttribute('width'); 
$height= $img->item(0)->getAttribute('height'); 

echo $src ."<br/>";
echo $width."<br/>";;
echo $height."<br/>";;
于 2013-04-17T06:54:41.967 に答える
4

これには PHP のDOM拡張を使用することを好みます。より信頼性が高く、HTML を正しく解析する方法を知っており、文字セットについてもある程度知っているからです。

<?php

$temp='<img class="alignnone wp-image-6" alt="2166105529_70dd50ef4b_n" src="http://192.168.1.12/wordpress/wp-content/uploads/2013/03/2166105529_70dd50ef4b_n-300x175.jpg" width="180" height="105">';

$dom = new \DomDocument;
$dom->loadHTML($temp);

$img = $dom->getElementsByTagName('img')->item(0);

// Note: Values are returned as strings, not as numbers
$src = $img->getAttribute('src');
preg_match('/(.+)-([0-9]+)x([0-9]+)\.jpg$/', $src, $matches);

$width = $matches[2];
$height = $matches[3];
于 2013-04-17T06:54:13.017 に答える
0

あなたはただすることができます

list($height, $width) = explode("x",substr(strrchr( $url , "-" ),1,-4));

そして、私が誤解していて、画像の実際のURLではなく、属性から取得する必要がある場合は、

$url= '<img class="alignnone wp-image-6" alt="2166105529_70dd50ef4b_n" src="http://192.168.1.12/wordpress/wp-content/uploads/2013/03/2166105529_70dd50ef4b_n-300x175.jpg" width="180" height="105">';

echo substr(strstr( $url , "width" ),0,-1);

エコーします

width="180" height="105"
于 2013-04-17T06:51:56.270 に答える