simplecontent

PHP Snippets und Beispiele

Inhaltsverzeichnis A-Z Register
Beispiel ausführen

Zeichenketten vergleichen

Die Ähnlichkeit von Strings ermitteln

Ein Vergleich von similar_text, soundex und metaphone. Das PHP Code Beispiel:
<?php
/**
* Vergleich von similar_text, soundex und metaphone
*/

$words = array(
 
'Ball',
 
'Beil',
 
'Blei',
 
'Blut',
 
'Brei',
 
'Glut',
);

$rows '';

$rowstack = array();
$tmp = array();
foreach (
$words as $w){
    
$soundex soundex($w);
    
$metaphone metaphone($w);
    
    
$tmp[$w] = sprintf ('%s <br>SX(%s)<br>MP(%s)'$w$soundex$metaphone);

}

$colheads '<tr><th></th><th>'join('</th><th>'$tmp).'</th></tr>';

foreach (
$words as $from){
    foreach (
$words as $to){
        
$dummy similar_text($from$to$percent);
        
$content 'st('.number_format($percent,2).')';
        
$content .= '<br>ls('.levenshtein ($from$to).')';
        
$resultstack[$from][$to] = $content;
    }
}

foreach (
$resultstack as $k => $v){
    
$rows .= '<tr><td><strong>'.$tmp[$k].'</strong></td><td>'join('</td><td>'$v).'</td></tr>';
}

echo <<< EOT
<table border=1 cellpadding=2 cellspacing=0>
$colheads 
$rows
</table>

<ul style="list-style-type:none;">
<li>ST - similar_text</li>
<li>SX - soundex</li>
<li>mp - metaphone</li>
<li>ls - levenshtein</li>
<ul>

EOT;


?>

Dieses PHP Snippet soll in erster Linie als Beispiel und Anregung für eigene Bemühungen dienen.
Gerne darf man es für Projekte aller Art benutzen.
Möchte jemand das Snippet also solches in ähnlicher oder anderer Form veröffentlichen ist ein kleiner Hinweis auf simplecontent.net nicht zuviel verlangt oder Herr Koch?
Für die Abwesenheit von Fehlern kann natürlich keine Gewähr gegeben werden.