1

Topic: PHP функция similar_text() - вывод совпадений в процентах

Функция similar_text() позволяет искать схожие значения сравнивая одну переменную с другой и выводить результат совпадений в процентах.

Вычисляет степень похожести двух строк по алгоритму, описанному в Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1). Эта реализация алгоритма не использует стека, использованного в оригинале, вместо этого применяются рекурсивные вызовы, что в некоторых случаях может ускорить процесс. Сложность алгоритма составляет O(N**3), где N - длина более длинной из двух строк.

<?php
   $str1 = "Hello, world!";
   $str2 = "Hello!";
   $var = similar_text($str1,$str2);
   $var1 = similar_text($str1, $str2, &$tmp);
   // параметр $tmp передаем по ссылке
   echo("Результат выполнения функции similar_text()
   для строк $str и $str1 в количестве символов:");
   echo("<br>"); echo("$var"); echo("<br>");
   echo("и в процентах:"); echo("<br>");
   echo($tmp); // для вывода информации в процентах обращаемся к $tmp
?>

2

Re: PHP функция similar_text() - вывод совпадений в процентах

По этому принципу можно построить поисковую систему для сайта, выводить похожие темы или сообщения.

<?php 
$query = mysql_query("select * from $table") or die("Query failed"); 

while ($row = mysql_fetch_array($query)) { 
      similar_text(strtoupper($_POST['name']), strtoupper($row['reserved']), $similarity_pst); 
      if (number_format($similarity_pst, 0) > 90){ 
        $too_similar = $row['reserved']; 
        print "The name you entered is too similar the reserved name &quot;".$row['reserved']."&quot;"; 
        break; 
       } 
    } 
?>