从api代码获取特定标签

时间:2013-05-08 13:44:36

标签: php html image tags src

我想从以下代码中获取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";

}
?>

这不是Grabbing the href attribute of an A element的重复,因为我无法在Godaddy托管中使用DOM。我以前试过了。

1 个答案:

答案 0 :(得分: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即可查看其中包含的内容。

同样,看看其他课程,看看他们做了什么: