php计算title标题相似比的方法

本文实例讲述了php计算title标题相似比的方法。分享给大家供大家参考。具体如下:

<?php
/*
 *
 * @param string $title_1 题目1
 * @param string $title_2 题目2
 * @return float $percent 相似百分比
 */
function title_similar($title_1,$title_2) {
  $title_1 = get_real_title($title_1);
  $title_2 = get_real_title($title_2);
  similar_text($title_1, $title_2, $percent);
  return $percent;
}
/**
 * php采集文章题目并去版权
 * @param string $html 需要采集的html源代码
 * @return string
 */
function get_real_title($str){
  $str = str_replace(array('-','—','|'),'_',$str);
  $splits = explode('_', $str);
  $l = 0;
  foreach ($splits as $tp){
    $len = strlen($tp);
    if ($l < $len){$l = $len;$tt = $tp;}
  }
  $tt = trim(htmlspecialchars($tt));
  return $tt;
}
//以下是测试
$title_1 = '代号PHPCMS V9产品正式发布公测版本';
$title_2 = 'PHPCMS再战江湖 V9产品正式发布公测版本';
$percent = title_similar($title_1,$title_2);
echo '相似百分比:'.$percent.'%';
echo "<br />\n";
?>

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • PHP中计算字符串相似度的函数代码

    similar_text - 计算两个字符串的相似度 int similar_text ( string $first , string $second [, float &$percent ] ) $first 必需.规定要比较的第一个字符串. $second 必需.规定要比较的第二个字符串. $percent 可选.规定供存储百分比相似度的变量名. 两个字符串的相似程度计算依据 Oliver [1993] 的描述进行.注意该实现没有使用 Oliver 虚拟码中的堆栈,但是却进行了递归调用,这

  • PHP改进计算字符串相似度的函数similar_text()、levenshtein()

    similar_text()中文汉字版 复制代码 代码如下: <?php       //拆分字符串       function split_str($str) {         preg_match_all("/./u", $str, $arr);         return $arr[0];       }              //相似度检测       function similar_text_cn($str1, $str2) {         $arr_1

  • 利用PHP实现与ASP Banner组件相似的类

    <?php /******************************************************* 作者: 吴振亨 (Biz)--phpscript E-mail:wuzhenheng@china.com web: http://phpscript.osh.com.cn 文件名:AdRotator.class.php3                  版权声明: 如果您使用了本文件,请给作者写一封E-mail    如有问题欢迎与作者联系 谢谢您的关注!       

  • PHP similar_text 字符串的相似性比较函数

    PHP 提供了一个极少使用的 similar_text 函数,但此函数非常有用,用于比较两个字符串并返回相似程度的百分比,以下是similar_text () 函数的使用方法: 复制代码 代码如下: similar_text($string1, $string2, $percent); //使用此函数后,我们从变量$percent 中获取刚比较的两个字符串的相似度百分比

  • 关于PHP的相似度计算函数:levenshtein的使用介绍

    使用说明先看手册上 levenshtein() 函数的说明: levenshtein() 函数返回两个字符串之间的 Levenshtein 距离. Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符. 例如把 kitten 转换为 sitting: sitten (k→s)sittin (e→i)sitting (→g)levenshtein() 函数给每个操作(替换

  • php比较相似字符串的方法

    本文实例讲述了php比较相似字符串的方法.分享给大家供大家参考.具体分析如下: 这里通过php的similar_text函数比较两个字符串的相似性. $word2compare = "stupid"; $words = array( 'stupid', 'stu and pid', 'hello', 'foobar', 'stpid', 'upid', 'stuuupid', 'sstuuupiiid', ); while(list($id, $str) = each($words))

  • php查询相似度最高的字符串的方法

    本文实例讲述了php查询相似度最高的字符串的方法.分享给大家供大家参考.具体如下: 根据传入的字符串和数组,返回数组中相似度最高的字符串 1. PHP代码如下: function closest_word($input, $words) { $shortest = -1; foreach ($words as $word) { $lev = levenshtein($input, $word); if ($lev == 0) { $closest = $word; $shortest = 0;

  • php计算title标题相似比的方法

    本文实例讲述了php计算title标题相似比的方法.分享给大家供大家参考.具体如下: <?php /* * * @param string $title_1 题目1 * @param string $title_2 题目2 * @return float $percent 相似百分比 */ function title_similar($title_1,$title_2) { $title_1 = get_real_title($title_1); $title_2 = get_real_tit

  • iOS之UIWebView无法获取web标题的解决方法

    最近遇到了一个问题,就是在UIWebView的代理方法里,执行document.title的js代码无法获取网页标题,代码如下: - (void)webViewDidFinishLoad:(UIWebView *)webView { // 取加载html文件的标题名 NSString *title = [webView stringByEvaluatingJavaScriptFromString:@"document.title"]; } 出现这个问题,我首先确定是不是代码的问题,经过

  • Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法

    本文实例讲述了Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法.分享给大家供大家参考,具体如下: Zend Framework 里Zend_Mail这个组件用起来还是很方便的..它提供了通用化的编写与发送文本内容的邮件,当然它也兼容MIME标准的多个多个段的邮件消息的功能.Zend_Mail里通过默认的Zend_Mail_Transport_SendMail传输或能过Zend_Mail_Transport_Smtp来发送我们的电子邮件. Ze

  • jQuery实现新消息闪烁标题提示的方法

    本文实例讲述了jQuery实现新消息闪烁标题提示的方法.分享给大家供大家参考.具体如下: 该代码可实现在标题栏部位闪烁地显示提示信息. 1. jQuery插件风格代码 ;(function($) { $.extend({ /** * 调用方法: var timerArr = $.blinkTitle.show(); * $.blinkTitle.clear(timerArr); */ blinkTitle : { show : function() { //有新消息时在title处闪烁提示 va

  • Android隐藏标题状态栏的方法

    本文给大家分享了两种方法,但是我建议大家使用第一种方法: 使用第一种方法,仅仅只需要在Manifest.xml文件中进行一行的配置就行了 而且Activity在启动的时候也不会看到那个Title栏 第一种方法: 在配置文件中进行设置: <activity android:label="@string/app_name" android:name=".WelcomeActivity" android:theme="@android:style/Them

  • vue计算属性computed的使用方法示例

    本文实例讲述了vue计算属性computed的使用方法.分享给大家供大家参考,具体如下: computed:{ b:function(){ //默认调用get return 值 } } computed:{ b:{ get: set: } } * computed里面可以放置一些业务逻辑代码,一定记得return <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&

  • layer.open的自适应及居中及子页面标题的修改方法

    layer.open的自适应: var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引 parent.layer.iframeAuto(index); layer.open居中: var index1 = layer.load(2, { shade: false });//过渡 //重新定义layer.open的宽 var index = parent.layer.getFrameIndex(window.na

  • python计算波峰波谷值的方法(极值点)

    python求极值点主要用到scipy库. 1. 首先可先选择一个函数或者拟合一个函数,这里选择拟合数据:np.polyfit import pandas as pd import matplotlib.pyplot as plt import numpy as np from scipy import signal #滤波等 xxx = np.arange(0, 1000) yyy = np.sin(xxx*np.pi/180) z1 = np.polyfit(xxx, yyy, 7) # 用

  • js计算任意值之间随机数的方法

    本文实例讲述了js计算任意值之间随机数的方法.分享给大家供大家参考.具体实现方法如下: 首先:Math.random()这个方法就是计算随机数的返回大于等于0小于1的随机数, Math.random()*10岂不是返回大于等于0返回小于10吗,但是他只能返回小于10的数,不能返回10,怎么办呢,我们在原来的函数上再加1就变成了Math.random()*10+1;此时就可以返回1到10的随机数了,但是我们返回的很多是小数,不符合要求,下面就用到了Math.floor()这个函数了,这个函数执行向

  • Go语言计算指定年月天数的方法

    本文实例讲述了Go语言计算指定年月天数的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (     "fmt"     "bufio"     "os"     "regexp"     "strconv" ) func main() {     year := input("year", "^[0-9]{1}[0-

随机推荐