1

次のコードから IMG SRC タグを取得したい:

<pod title="Scientific name" scanner="Data" id="ScientificName:SpeciesData" position="200" error="false" numsubpods="1">
<subpod title="">
<plaintext>Canis lupus familiaris</plaintext>
<img src="http://www4a.wolframalpha.com/Calculate/MSP/MSP17941cd1c5fi21h72ac2000057i1ae7gc4986gdf?MSPStoreType=image/gif&s=44" alt="Canis lupus familiaris" title="Canis lupus familiaris" width="139" height="18"/>
</subpod>
</pod>

プレーンテキスト情報を取得する方法は知っていますが、img src 情報を取得するにはどうすればよいですか? プレーンテキスト情報を取得するために必要なものは次のとおりです。

<?php
if(isset($_POST['q'])){
include 'WolframAlphaEngine.php';
$engine = new WolframAlphaEngine( 'APP-ID' );

$resp = $engine->getResults("$q");

$pod = $resp->getPods();

$pod1 = $pod[1];


foreach($pod1->getSubpods() as $subpod){
  if($subpod->plaintext){
    $plaintext = $subpod->plaintext;
    break;
  }
}

$result = substr($plaintext, 0,strlen($plaintext)-3);

echo "$plaintext";

}
?>

Godaddy ホスティングで DOM を使用できないため、A 要素の href 属性を取得するの複製ではありません。私は前にそれを試しました。

4

1 に答える 1

0

その WolframAlphaEngine を使ったことがありません。私はそれがこれだと思います:

もしそうなら、https://github.com/brkeerthi/chethana/blob/master/include/WASubpod.phpを見てください。

class WASubpod {
  // define the sections of a response
  public $attributes = array();
  public $plaintext = '';
  public $image = '';
  public $minput = '';
  public $moutput = '';
  public $mathml = '';

ご覧のとおり、プレーンテキストだけでなく、属性などのプロパティもあります。それは同じくらい簡単かもしれません

foreach ($pod1->getSubpods() as $subpod) {
    $attributes = $subpod->attributes;
    if (isset($attributes['src']) {
        echo $attributes['src'];
    }
}

しかし、そのライブラリのドキュメントが存在しないため、わかりません。したがって、これが機能しない場合は、var_dump$subpodが含まれているかを確認してください。

同様に、他のクラスを見て、その機能を確認してください。

于 2013-05-08T14:16:12.050 に答える