如何获取像谷歌或其他搜索引擎的摘要字符串

时间:2016-12-02 18:54:14

标签: php summary

搜索关键字时,Google或bing等搜索引擎会从网站描述或内容中提取摘要。我想写一个能做同样的功能。

假设我有一个帖子的帖子,帖子的内容是:

  

PHP是一种主要为Web设计的服务器端脚本语言   开发,但也用作通用编程语言。   最初由Rasmus Lerdorf于1994年创建,[5] PHP参考   实现现在由PHP开发团队制作。[6] PHP   最初代表个人主页,[5]但它现在代表着   递归缩写PHP:Hypertext Preprocessor。[7]

     

PHP代码可以嵌入到HTML代码中,也可以在其中使用   与各种网页模板系统,网络内容管理相结合   系统和Web框架。 PHP代码通常由PHP处理   解释器在Web服务器中实现为模块或作为Common实现   网关接口(CGI)可执行文件。 Web服务器结合了   解释和执行的PHP代码的结果,可能是任何代码   生成的网页的数据类型,包括图像。 PHP代码   也可以使用命令行界面(CLI)执行   用于实现独立的图形应用程序。[8]

     

由Zend Engine提供支持的标准PHP解释器是免费的   根据PHP许可证发布的软件。 PHP已被广泛移植   并且可以在几乎每个操作上部署在大多数Web服务器上   系统和平台,免费。[9]

     

PHP语言的演变没有书面的正式规范或   标准直到2014年,将规范的PHP解释器留作de   事实标准。自2014年以来,工作已经开始创建一个正式的PHP   说明书

当我搜索“php developer designed”时,我希望该函数提取此摘要输出:

PHP 是服务器端脚本语言设计主要用于Web开发,但也用过..... PHP 允许开发人员编写C语言中的扩展,用于为PHP语言添加功能。 PHP 扩展可以静态编译到PHP或...

我创造了这个功能但不是有趣的结果

function character_limiter($str, $n = 500, $end_char = '…')
{
    if (strlen($str) < $n)
    {
        return $str;
    }

    $str = preg_replace("/\s+/", ' ', str_replace(array("\r\n", "\r", "\n"), ' ', $str));

    if (strlen($str) <= $n)
    {
        return $str;
    }

    $out = "";
    foreach (explode(' ', trim($str)) as $val)
    {
        $out .= $val.' ';

        if (strlen($out) >= $n)
        {
            $out = trim($out);
            return (strlen($out) == strlen($str)) ? $out : $out.$end_char;
        }
    }
 }

0 个答案:

没有答案