Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

metaphone

String-Funktionen

    Befehl:
string metaphone ( string $str [, int $phonemes = 0 ] )


    Parameter-Liste:
NameBeschreibung
strDie Eingabezeichenkette.
phonemesDieser Parameter begrenzt den zurückgegebenen Metaphone Schlüssel auf phonemes Zeichen Länge. Der Standardwert von 0 bedeutet keine Begrenzung.

    Rückgabewerte:
Gibt den Metaphon-Schlüssel als Zeichenkette zurück, Im Fehlerfall wird FALSE zurückgegeben.

    Beschreibung:
Errechnet den Metaphone-Schlüssel von str.

Genau wie soundex() berechnet metaphone den gleichen Schlüssel für ähnlich klingende Wörter. Die Metaphone-Funktion arbeitet genauer als soundex(), da sie die Grundregeln der englischen Aussprache kennt. Die durch metaphone erzeugten Schlüssel sind von variabler Länge.

Der Metaphone-Algorithmus wurde von Lawrence Philips <lphilips at verity dot com> entwickelt und in ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995] beschrieben.


    Aktiv in Version:
(PHP 4, PHP 5, PHP 7)

metaphone() - Beispiel:


Eingabe:
<?php
var_dump(metaphone('programming'));
var_dump(metaphone('programmer'));
?>


Ausgabe:
string(7) "PRKRMNK"
string(6) "PRKRMR"
metaphone() - Beispiel 2:


Eingabe:
<?php
var_dump(metaphone('programming', 5));
var_dump(metaphone('programmer', 5));
?>


Ausgabe:
string(5) "PRKRM"
string(5) "PRKRM"
metaphone() - Beispiel 3:


Eingabe:
<?PHP
$var_1 = 'Eine gelbe Zitrone';
$var_2 = 'Citroen';
$var_3 = 'Visual Basic';
$var_4 = 'base';

//--> Unterseite
echo $var_1 . ': ' . metaphone($var_1) . '<br>';
echo $var_2 . ': ' . metaphone($var_2) . '<br>';
echo $var_3 . ': ' . metaphone($var_3) . '<br>';
echo $var_4 . ': ' . metaphone($var_4) . '<br>';

echo '<br>--------------------------------------------------------------<br><br>';

if ( strpos ( metaphone ( $var_1 ), metaphone ( $var_2 ) ) )
{
  echo $var_1 . ' und ' . $var_2 . ' zeigen Ähnlichkeiten';
}
else
{
  echo $var_1 . 'und' . $var_2 . 'zeigen keine Ähnlichkeiten';
}
echo '<br>';
if ( strpos ( metaphone ( $var_3 ), metaphone ( $var_4 ) ) )
{
  echo $var_3 . 'und' . $var_4 . 'zeigen Ähnlichkeiten';
}
else
{
  echo $var_3 . 'und' . $var_4 . 'zeigen keine Ähnlichkeiten';
}
?>


Ausgabe:
Eine gelbe Zitrone: ENJLBSTRN
Citroen: STRN
Visual Basic: FSLBSK
base: BS

--------------------------------------------------------------

Eine gelbe Zitrone und Citroen zeigen Ähnlichkeiten
Visual Basic und base zeigen Ähnlichkeiten

Beschreibung:
Mit metaphone() berechnet man den Metaphone-Schl�ssel eines Strings (str). Dieser Schl�ssel kann zum Vergleich zweier Strings genommen werden, um die �hnlichkeit beider Zeichenketten zu �berpr�fen.
Diese Funktion erzielt wesentlich bessere Ergebnisse als soundex(), da sie die englische Aussprache ber�cksichtigt.
String-Funktionen