繁体   English   中英

PHP从网页中提取文本

[英]PHP Extract Text from Webpage

是否可以使用PHP进行某些操作,在其中我可以建立与http://en.wikipedia.org/wiki/Wiki之类的URL的连接,并提取包含诸如“ Exa”和“ ins”之类的前缀的任何单词,从而使生成的PHP页面将打印出所有找到的单词。 例如,对于“ Exa”,每次找到“ Example”的实例时,将打印出“ Example”一词。 以“ ins”开头的单词也是如此。

$data = strip_tags(file_get_contents($url));
$matches = array();
preg_match('/\bExa|ins([^\b]+)/', $data, &$matches);
for ($i = 1; $i < count($matches); $i++) {
    echo "Match: '".$matches[$i]."'\r\n";
}

大概是这样的,尽管我对正则表达式不是很确定,但是我还没有对其进行测试...

编辑:我更改了它,现在应该可以使用...(\\ B => \\ b和strip_tags可以防止HTML类被匹配)。

我没有给出示例的完整答案,但是,是的,您应该能够将整个页面读入一个字符串变量,然后对它进行常规的字符串操作。 它会读取所有HTML,因此,如果您不希望使用标签,则可能需要进行大量的正则表达式来消除标签。

使用file_get_contents将页面读取为字符串。 使用各种字符串函数之一来检查页面。

是的,这可能。 一种可能的方法是:

  1. 使用fopen之类的东西(如果启用了allow_url_fopen-使用CURL失败)来获取外部网页内容。

  2. 通过strip_tags删除(可能不是必需的)HTML标签。

  3. 使用strtok标记和迭代其余内容,检查所需的条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM