检索包含特定span类的数据

时间:2012-01-08 17:38:19

标签: php

使用file_get_contents,我打开一个Internet URL并获取该网页的内容。

在HTML内部有许多相同的span类标记:

<span class="always-the-same-class">always dynamic text</span>

现在,我想获得一个包含任何此标记中包含的所有“动态文本”的数组。没有必要消除重复的条目(我需要它们)。

这可能吗?我该怎么办?

3 个答案:

答案 0 :(得分:2)

如果我理解正确,那必须是PHP,因为它在服务器上,而不是在浏览器中。所以我会做像

这样的事情
$html=file_get_contents(HTML_URL);
$a=preg_match_all("/\<span class\=\"always-the-same-class\"\>(.*?)\<\/span\>/",$html,$b);
echo $a;
print_r($b[1]);

$ a有命中数,$ b [1]命中

针对

进行了测试
<html>
.. blah ..
<body>

.. blah ..

<span class="always-the-same-class">always dynamic text A</span>
<span class="always-the-same-class">always dynamic text B</span>
<span class="always-the-same-class">always dynamic text C</span>

.. blah ..

</body>
</html>

,输出

3
Array
(
    [0] => always dynamic text A
    [1] => always dynamic text B
    [2] => always dynamic text C
)

答案 1 :(得分:0)

jquery的:

var spanText = $('.always-the-same-class').text();

答案 2 :(得分:0)

您可以使用PHP中提供的DOMDocument类来解析此内容。将内容加载到dom文档后,您可以使用过滤掉span标记 $content->getElementsByTagName('span'); 完成此操作后,您可以按标签属性过滤结果并获取内容。