0

私は次のコードを持っています:

     $doc=new DOMDocument(); 
     $doc->loadHTML($content); 
     $xml=simplexml_import_dom($doc); // just to make xpath more simple 
     //$images=$xml->xpath('(//img[@class = "thumbimage"])[1]');

     for($x=1;$x<=5;$x++)
     {
                      $images[] = $xml->xpath('(//img[@class = "thumbimage"])['.$x.']'); 

     }

$images をダンプします。このタイプの配列を取得します。下部のスクリーン ショットを参照してください。

  [array](unknown name)
   - [array]0
     -[SimpleXMLElement Object] 0
      -Properties
        -[array]@attributes
              [string]src = "thestring"
      -Methods
        __construct
        __addAttribute etc

$images[] 配列のそれぞれから「文字列」を取得したい

添付の画像をご覧ください:

ここに画像の説明を入力

4

3 に答える 3

0

必要なのは正しい XPath だけであり、扱っている XML を投稿すると、非常に簡単に提供できると思います (提供した画像からいくつかのものしか推測できません)。とにかく img[@class = '...'] を使用しているので、扱っている要素名が呼び出されていると仮定しますimg

その場合、必要な xpath は

"//img@src"

@ を使用して、すべての img 要素の属性を選択します。http://www.w3schools.com/xpath/xpath_syntax.asp

于 2012-10-18T00:07:57.057 に答える
0

配列の要素として属性にアクセスできます。

$images[$i]['src']
于 2012-10-18T01:17:44.107 に答える
0
  for($x=0;$x<=5;$x++)
               {
                $k = $x + 1;
                $images[] = $xml->xpath('(//img[@class = "thumbimage"])['.$k.']'); 
                $url[] = (string)$images[$x][0]['src'];
               }

これが私が望んでいた結果をもたらしたものです。

于 2012-10-18T05:35:12.017 に答える