我想在php中使用simple_html_dom解析span innertext

时间:2017-02-16 19:44:40

标签: php html

<span class="contact-seller-name">Enda</span>

现在我想回应Enda&#39;在这个span标签内使用php

这是我的PHP代码

$url="http://website.example.com";

$html = file_get_html( $url );

$value = $html->find('span.contact-seller-name');

echo $value->innertext;

1 个答案:

答案 0 :(得分:0)

从他们的文档中看起来,find返回匹配过滤器参数的找到值的数组

自:

  

http://simplehtmldom.sourceforge.net/

代码:

// Find all images 
foreach($html->find('img') as $element) 
       echo $element->src . '<br>';

它们还提供了另一个获取特定元素的示例:

$html->find('div[id=hello]', 0)->innertext = 'foo';

所以我的猜测会让你想要你想要的东西:

$value = $html->find('span.contact-seller-name', 0);

echo $value->innertext;

通过添加 0 作为参数,它返回该过滤器的第一个找到的实例。

在这里查看他们的API:

  

http://simplehtmldom.sourceforge.net/manual_api.htm

它描述 find 方法返回的内容(如果定义了第二个参数,则返回元素对象或元素对象的数组)

然后使用任何提供的元素对象方法,您可以获得所需的文本。

在实际网站上测试完整的工作示例:

$url = "http://fleeceandthankyou.org/";

$html = file_get_html($url);

$value = $html->find('span.givecamp-header-wide', 0);

//If it can't find the element, throw an error
try
{
    echo $value->innertext;
}
catch (Exception $e)
{
    echo "Couldn't access magic method: " . $e->getMessage();
}