php - 使用php在字符串中查找类似文本的片段

时间:2014-02-03 19:37:36

标签: php

我熟悉PHP中的similar_text()函数,但我想要考虑的是找到我可以在我的内容中添加到其他文章的潜在链接。

我想要的是能够扫描每篇文章中的所有内容,并在帖子中找到与另一篇文章的标题类似的文本片段。

所以我想说我有以下结构

$contentfromapost = "this is example text of the content in this article. It talks about things that people like to do for fun and vacation spots where they can do them all around the world"

$titleofpost1 = "Yellow cats are fun to throw in the snow"

$titleofpost2 = "Vacation Rentals in Fun parts of the world"

所以我的想法是扫描第一篇文章内容,然后扫描我所有文章的标题。

正如您在我的示例中所看到的,$titleofpost2具有与$contentfromapost匹配的关键字。

然后我希望能够抓取$contentfromapost中的文本片段,并发送一个链接到具有相似标题的帖子。我可以使用锚文本“有趣和度假的地方,他们可以在世界各地做到这一点”链接到第二篇文章。

我想构建它以帮助我找到其他帖子,我也可以在文章中链接。我希望它能够自动添加带有文本部分的链接。

无论如何试图了解我如何构建这个,任何想法都会有所帮助

1 个答案:

答案 0 :(得分:0)

以下是我的建议。这可能会有所帮助。

您可以分两步完成:

第一步(数据收集)

1)您可以制作一个包含关键字的表格和PostId(这里我假设每个帖子都有一个唯一的ID)以及其他必填字段。

2)为了制作关键词列表,您可以解析每个帖子并过滤掉名词,动词。

3)对于每个关键字,Postid将在表格中有一个映射。

第二步(数据提取)

现在假设您必须找到POST-1的类似帖子

1)首先找到为POST-1存储的all关键字。并将其存储在数据结构中

2)现在获取每个关键字并在Table中找到它不属于POST-1。现在,您将为每个关键字提供PostId的数据结构。由于一个postid可以多次出现一个关键字,所以在这里我们也可以引入每个postid的权重。

3)现在假设你有1个关键字用于Post-1。意味着你有4个Postid的数据结构与它们的重量。

4)现在组合所有数据结构。在组合期间,您必须注意如果任何PostId来得更多时间意味着我们也在增加体重。

5)最后你会得到最重的PostId。这将接近你的Post-1。

希望它有意义。