如果您有要分析的页面的原始HTML,则可以使用preg_match来查找它。
如果您不具备HTML这应该可以帮助您:How do I get the HTML code of a web page in PHP?
preg_match()
该功能可让您解析与正则表达式模式的字符串。建议只获取一小部分HTML,而不是全部页面。例如,在这种情况下,我会尝试获取第一个表格(没有上一集的信息的表格)的HTML。
$subject="the HTML of the url you want to parse";
$pattern='/Number:<\/td><td.+?>(\d+)<\//';
if(preg_match($pattern, $subject, $hits)){
echo "Number: $hits[0]";
}
如果你不知道正则表达式是如何工作的:
''是一个保留字符,意思是'任何字符','+'表示'一个或多个'后面的'+'和'?'使正则表达式非贪婪。所以如果我们总结一下'。+?'意味着'一个或多个任何角色,但尽可能短'。
'('和')'表示我们想要检索它们之间的内容,'\ d'表示一个数字。所以'(\ d +)'意味着'把这个数字组合在$ hits数组中'。
如果您使用相同的正则表达式,但preg_match_all您将检索遵循相同的模式的所有数字,他们将在$ hits数组内。
除了匹配的属性(即css类),你需要匹配文本,这里是一个相关的问题:http://stackoverflow.com/questions/3655549/xpath-containstext-some-string-doesnt-工作时使用与节点与更多 – ajreal
@ajreal感谢您的帖子。然而,由于我试图通过Simple HTML Dom提取数字http://simplehtmldom.sourceforge.net/,所以我无法将事情联系在一起,所以我很难理解你引用的答案。如果你有时间可以提供样本代码吗?谢谢! – user1788210