首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RegEx将刮擦限制为X字数+其他规格

使用RegEx将刮擦限制为X字数+其他规格
EN

Stack Overflow用户
提问于 2014-02-17 02:11:51
回答 1查看 73关注 0票数 0

你们都可以跳过这个背景信息,尽管它很有用。

背景

我拥有一个为丹麦所有心理学家提供索引的网站。我的网站提供所有诊所的联系信息以及用户评级。

我目前列出了12.000名心理学家,其中约有6.000名有网站。大约有1000名心理学家访问了我的网站,他们用额外的“描述性”信息(如开放时间、价格等)填写了他们的个人资料。

我试图(用PHP和RegEx)自动抓取那些没有向我的社区提供详细信息的人的站点,原因很丰富。

我随机浏览了大约150个网站,得出的结论是,超过85 %的网站都有有价值的文本继续使用“Velkommen”(欢迎,在Denish中)。宝贝!

问题

#1

我如何在我的脚本中详细说明,我只想获得大约。360字,仅此而已。Ofc。这应该是前面(包括)的词Velkommen。此外,脚本不应该区分大小写(虽然Velkommen通常用大写V拼写,但它可以在另一个句子中弹出)。

而且,它应该是整个页面上最后出现的'velkommen‘,因为它有时会作为菜单/导航选项出现,这会很糟糕,因为我会抓取导航选项。

#2

目前,我的脚本将信息保存在多个数组中,然后保存在数据库中。

不知道我该怎么做。什么将是最优的SEO;

  1. 将刮过的文本保存在MySQL中,并每次显示。
  2. 渲染相同的360个字符-每次文本后面的'Velkommen‘
  3. 呈现随机360字符-文本从网站,每次有人查看一个特定的心理学家在我的网站。

下面是一个示例站点和我的当前脚本:

代码语言:javascript
复制
$web = "http://www.psykologdorthelau.dk/";
$website = file_get_contents ($web);

preg_match_all("/velkommen.+?/sim", $website, $information);

//THIS SHOULD SPECIFICY THE VERY LAST 'VELKOMMEN' - it doesn't, I know :(
for($i = 0; $i < count($information[0]); $i++){

preg_match_all("/Velkommen (.+?)\"/sim", $information[0][$i], $text, PREG_SET_ORDER);

$psychologist[$i]['text'] = mysql_real_escape_string($text[0][1]);
}

感谢任何能解决这个难题的人,他们来自丹麦这个美丽的国家。

EN

回答 1

Stack Overflow用户

发布于 2014-02-17 23:38:38

试着做这样的事情:

代码语言:javascript
复制
<?php

$web = "http://www.psykologdorthelau.dk/";
$website = file_get_contents ($web);

// TRY TO FIND ALL OF THE MATCHES
preg_match_all('/velkommen.{1,351}/ims', $website, $matches);

// PULL OUT THE LAST ITEM FROM THE `$matches`
$last_velkommen = array_pop($matches[0]);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21819599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档