PHP从网页中提取文本

时间:2011-05-09 18:07:11

标签: php

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

4 个答案:

答案 0 :(得分:2)

$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 =&gt; \ b和strip_tags以防止匹配HTML类。)

答案 1 :(得分:1)

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

答案 2 :(得分:0)

使用file_get_contents将页面读入字符串。使用各种string functions之一来检查页面。

答案 3 :(得分:0)

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

  1. 使用fopen之类的内容(如果启用了allow_url_fopen,则无法使用CURL)来获取外部网页内容。

  2. 通过strip_tags删除(大概不需要)HTML标记。

  3. 使用strtok标记并迭代剩余的内容,检查您需要的任何条件。