Php 检索包含特定span类的数据

Php 检索包含特定span类的数据,php,Php,使用file\u get\u contents,我打开一个Internet URL并获取此网页的内容 在HTML中有许多相同的span类标记: <span class="always-the-same-class">always dynamic text</span> 始终是动态文本 现在,我想得到一个数组,其中包含所有这些标记中包含的“动态文本”。没有必要消除重复的条目(我需要它们) 这可能吗?我该怎么办?jquery: var spanText = $('.alw

使用
file\u get\u contents
,我打开一个Internet URL并获取此网页的内容

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

<span class="always-the-same-class">always dynamic text</span>
始终是动态文本
现在,我想得到一个数组,其中包含所有这些标记中包含的“动态文本”。没有必要消除重复的条目(我需要它们)

这可能吗?我该怎么办?

jquery:

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

如果我理解正确,这必须是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]);

您可以使用PHP中提供的DOMDocument类解析此内容。一旦将内容加载到dom文档中,就可以使用
$content->getElementsByTagName('span')

完成此操作后,您可以通过标记属性过滤结果并获取内容。

基于您希望使用html组件的事实,我看不到PHP的用途,只有JavaScript。使用jQuery.each()函数,它会有所帮助,然后您将此信息发送到php。在这里,您将找到所有此类问题的解决方案。@Euger Rieck:preg_match不是可以找到给定字符串的所有出现情况吗?如果是这样,我不需要这样做:我也需要在该字符串之后找到文本。@Gerep:JavaScript在我的上下文中没有用处:页面由cronjob+curl打开,浏览器永远不会打开。@Gerep:我问了一个PHP问题!:-)我不需要JQuery和JavaScript!我发布了一个PHP问题!我看到了两种方法,1:preg_match 2:do函数将运行jquery函数并返回其值,然后将其捕获并存储在变量中:),phpJavaScript中的所有这些在我的上下文中都没有用处:页面是由cronjob+curl打开的,浏览器永远不会打开,相信我。。。它会做它自己的事,我之所以这么说是因为我做了。但无论如何,我更喜欢尤金·里克的answer@wOrldart:浏览器未打开,我无法更改上下文,没有客户端,请接受:-刚才注意到的小问题:在该网页中,他们有时使用“始终相同的类”,有时使用“始终相同的类”。在这种情况下,您可以将正则表达式改为/\(*)\/区别在于“”和“”对不起,在您的第一个版本中,它是空白与破折号。。。所以你会使用/\谢谢。我不知道为什么我会得到
0Array()
如果HTML格式不好没有问题?
<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
)