0

この問題があるため、この投稿を書きます。

HTML文字を含む文字列があります。

私が望むのは、この文字列から幅 10px より小さいすべての画像を削除することです。PHPでこれを行うにはどうすればよいですか?

いくつかのループの使用を考えていましたが、それを実装する方法がわかりません。誰か助けてくれませんか?

4

2 に答える 2

0

あなたが試すことができます

$final = array();
$images = array();
$template = "<img src='%d.jpg' height='%d' width='%d' />";


for($i = 0; $i < 10;  $i++)
{
    $height = mt_rand(9, 12);
    $weight = mt_rand(9, 12);
    $images[] = sprintf($template , $i,$height,$weight);

}


var_dump($images);


foreach($images as $image)
{
    $attribute = simplexml_load_string($image);
    $attribute = $attribute->attributes();

    if((int) $attribute['height'] <  10 or (int) $attribute['width'] < 10)
        continue ;
    $final[] = $image;
}

var_dump($final);

出力

array
  0 => string '<img src='0.jpg' height='11' width='9' />' (length=41)
  1 => string '<img src='1.jpg' height='12' width='9' />' (length=41)
  2 => string '<img src='2.jpg' height='10' width='11' />' (length=42)
  3 => string '<img src='3.jpg' height='12' width='11' />' (length=42)
  4 => string '<img src='4.jpg' height='11' width='9' />' (length=41)
  5 => string '<img src='5.jpg' height='9' width='11' />' (length=41)
  6 => string '<img src='6.jpg' height='9' width='9' />' (length=40)
  7 => string '<img src='7.jpg' height='10' width='9' />' (length=41)
  8 => string '<img src='8.jpg' height='12' width='9' />' (length=41)
  9 => string '<img src='9.jpg' height='10' width='10' />' (length=42)
array
  0 => string '<img src='2.jpg' height='10' width='11' />' (length=42)
  1 => string '<img src='3.jpg' height='12' width='11' />' (length=42)
  2 => string '<img src='9.jpg' height='10' width='10' />' (length=42)
于 2012-09-27T19:57:51.900 に答える
-1

http://php.net/manual/en/function.getimagesize.phpを試してみます

于 2012-09-27T19:36:04.983 に答える