PHP从网页中提取文本

PHP从网页中提取文本,php,Php,有没有可能用PHP做点什么,我可以建立一个到URL的连接,比如,提取任何包含前缀的单词,比如“Exa”和“ins”,这样生成的PHP页面将打印出它找到的所有单词。例如,使用“Exa”,每次找到“example”的实例时,都会打印出“example”一词。对于以“ins”开头的单词也是如此。使用将页面读入字符串。使用各种选项之一检查页面。使用将页面读入字符串。使用各种方法中的一种来检查页面。我没有完整的示例回答,但是可以,您应该能够将整个页面读入字符串变量,然后对其执行正常的字符串操作。它将读取所

有没有可能用PHP做点什么,我可以建立一个到URL的连接,比如,提取任何包含前缀的单词,比如“Exa”和“ins”,这样生成的PHP页面将打印出它找到的所有单词。例如,使用“Exa”,每次找到“example”的实例时,都会打印出“example”一词。对于以“ins”开头的单词也是如此。

使用将页面读入字符串。使用各种选项之一检查页面。

使用将页面读入字符串。使用各种方法中的一种来检查页面。

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

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

$data=strip_标记(file_get_contents($url));
$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";
}
$matches=array(); preg_match('/\bExa|ins([^\b]+)/'、$data和$matches); 对于($i=1;$i
可能是这样的,虽然我对正则表达式不是很确定,但我还没有测试过它

编辑:我更改了它,它现在应该可以工作了。。。(\B=>\B和
strip_标记
以防止HTML类被匹配)。

$data=strip_标记(file_get_contents($url));
$matches=array();
preg_match('/\bExa|ins([^\b]+)/'、$data和$matches);
对于($i=1;$i
可能是这样的,虽然我对正则表达式不是很确定,但我还没有测试过它


编辑:我更改了它,它现在应该可以工作了。。。(\B=>\B和
strip_标记
以防止HTML类被匹配)。

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

  • 使用类似(如果启用了allow_url_fopen-使用失败)的方法获取外部网页内容

  • 通过删除(可能不是必需的)HTML标记

  • 用于标记和迭代剩余内容,检查您需要的任何条件


  • 是的,这是可能的。一种可能的办法是:

  • 使用类似(如果启用了allow_url_fopen-使用失败)的方法获取外部网页内容

  • 通过删除(可能不是必需的)HTML标记

  • 用于标记和迭代剩余内容,检查您需要的任何条件


  • 你的问题非常广泛,几乎不可能在帖子中回答。考虑把这个任务分解成块,然后单独处理,并在必要时请求帮助。FIY:你想检查是否通过PHP访问一个网站是违反他们的条件的。你的问题非常广泛,几乎不可能在帖子中回答。考虑把这个任务分解成块,然后单独处理,并在必要时请求帮助。FIY:你想检查是否通过PHP访问一个网站是违反他们的条款/条件的。但刚才我意识到人们并不总是问他们想回答的问题,所以我改变了答案,以匹配我认为特瑞我想问的问题。@Viswanathan是的,我不这么认为。他可能确实需要一些关于如何做到这一点的帮助,而不仅仅是“不”或“是”…是的。但刚才我意识到人们并不总是问他们想回答的问题,所以我改变了答案,以匹配我认为特瑞我想问的问题。@Viswanathan是的,我不这么认为。他可能确实需要一些关于如何做到这一点的帮助,而不仅仅是“不”或“是”…$middaparka:我知道这是可能的。这就是我正在做的。但是,如果加载的网页包含iframe和javascript来生成内容,则调用fopen()时不会显示字符串。那么有没有一种方法可以获取javascript函数生成的字符串呢。换句话说,我想通过编程来获取文本,而不是复制和粘贴文本。@dooby您所说的是不可能的-浏览器执行JavaScript等。因此,您需要模拟(或确实使用)浏览器。顺便说一句,你应该创建自己的问题,而不是针对现有问题的答案添加评论,尤其是因为听起来你试图解决一个微妙的不同问题。$middaparka:我知道这是可能的。这就是我正在做的。但是,如果加载的网页包含iframe和javascript来生成内容,则调用fopen()时不会显示字符串。那么有没有一种方法可以获取javascript函数生成的字符串呢。换句话说,我想通过编程来获取文本,而不是复制和粘贴文本。@dooby您所说的是不可能的-浏览器执行JavaScript等。因此,您需要模拟(或确实使用)浏览器。顺便说一句,你应该创建自己的问题,而不是对现有问题的答案添加评论,尤其是当听起来你试图解决一个微妙的不同问题时。