Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 ICQ Generator
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
 
 
 

Ähnlichkeit zwischen zwei Zeichenketten bestimmen

Sie befinden sich: Home > Php Tutorial > Ähnlichkeit zwischen zwei Z...

Aehnlichkeit zwischen zwei Zeichenketten bestimmen


Eintrag am:  16.12.2009
Hits / Besucher:  6839
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials...
Tutorial Art:  eigenes
Eingetragen von    schubertmedia
 
Beschreibung

Ich möchte ihnen in diesem Tutorial erklären, wie sie mit der PHP Funktion similar_text() die Ähnlichkeit zwischen zwei Zeichenketten ermitteln. Um die Anzahl der gleichen Zeichen zu ermitteln, müssen Sie bei der PHP Funktion similar_text() zwei unterschiedliche Zeichenketten übermitteln.

Wenn Sie den dritten Parameter angeben, wird in der Variable der Prozentsatz der Ähnlichkeit ermittelt und gespeichert. Empfehlenswert wäre vor der Überprüfung mit der PHP Funktion similar_text(), die beiden Zeichenketten von Leerzeichen und Sonderzeichen zu entfernen. Da ansonsten, das Ergebnis verfälscht werden könnte.

Der Syntax:

similar_text(Zeichenkette eins, Zeichenkette zwei, optional Prozentsatz);

Code für Beispiel 1:

<?php

/*
* Created on 16.12.2009 by Nico Schubert
*/
/**
* Beispiel 1 / similar_text()
*/
/**
* Wir definieren in der Variable
$zeichenkette_eins unser erste Zeichenkette.
*/
$zeichenkette_eins = 'Nico';
/**
* In der Variable $zeichenkette_zwei speichern wir
unsere Vergleichzeichenkette.
*/
$zeichenkette_zwei = 'Nancy';
/**
* Nun prüfen wir mit der PHP Funktion
similar_text() wieviele Zeichen gleich
zwischen den Variablen $zeichenkette_eins und
$zeichenkette_zwei sind. Das Ergebnis
speichern wir in der Variable $zeichen.
Zusätzlich gegeben wir einen dritten
Parameter an mit den Variablennamen $prozent
um die ausgerechnete Ähnlichkeit in dieser
Variable zu speichern.
*/
$zeichen = similar_text($zeichenkette_eins,
$zeichenkette_zwei, $prozent);
/**
* Als letzten Abschnitt von diesem Beispiel, geben
wir mit den echo Befehl unserer Ausgabe aus.
*/
echo 'Die beiden Zeichenketten
('.$zeichenkette_eins.' und
'.$zeichenkette_zwei.') haben insgesamt
'.$zeichen.' gleiche Zeichen und daraus
ergibt sich eine Ähnlichkeit von
'.$prozent.' Prozent.<br>';
?>


Ausgabe des Beispiel 1:

Die beiden Zeichenketten (Nico und Nancy) haben insgesamt 2 gleiche Zeichen und daraus ergibt sich eine Ähnlichkeit von 44.4444444444 Prozent.
 

Wenn Sie mehrere Zeichenketten mit einer Zeichenkette vergleichen möchten, können Sie dies mit einer sogenannten foreach Schleife umsetzen. Nachfolgend finden sie ein Beispiel, wie sie dies umsetzen könnten.

Code Beispiel 2:

<?php

/*
* Created on 16.12.2009 by Nico Schubert
*/
/**
* Beispiel 2 / similar_text()
*/
/**
* Als erstes definieren wir in unserer Variable
$zeichenkette eine Zeichenkette.
*/
$zeichenkette = 'Nico';
/**
* Nun speichern wir in der Variable
$vergleich_zeichenketten ein Array von
unterschiedlichen Zeichenketten.
*/
$vergleich_zeichenketten = array('Lydia',
'Nadine');
/**
* Mit der PHP Funktion count() ermitteln wir die
Anzahl der enthaltenen Zeichenketten in der
Variable $vergleich_zeichenketten.
*/
$anzahl_vergleich_zeichenketten =
count($vergleich_zeichenketten);
/**
* Nun geben wir mit der PHP Funktion Echo die
Anzahl aus.
*/
echo 'Es werden jetzt
'.$anzahl_vergleich_zeichenketten.'
Zeichenketten mit der Zeichenkette
"'.$zeichenkette.'" überprüft.<br>';
/**
* Nun laufen wir das Array
$vergleich_zeichenketten durch mit einer so
genannten foreach Schleife und speichern jede
einzelne Zeichenkette in der Variable
$vergleich_zeichenkette.
*/
foreach($vergleich_zeichenketten as
$vergleich_zeichenkette) {
/**
* Wie im ersten Beispiel prüfen wir die
Ähnlichkeit und Anzahl der gleichen
Zeichen mit der PHP Funktion similar_text().
*/
$zeichen = similar_text($zeichenkette,
$vergleich_zeichenkette, $prozent);
/**
* Anschließend geben wir mit echo das Ergebnis
aus.
*/
echo '- Die beiden Zeichenketten
('.$zeichenkette.' und
'.$vergleich_zeichenkette.') haben
insgesamt '.$zeichen.' gleiche Zeichen
und daraus ergibt sich eine Ähnlichkeit
von '.$prozent.' Prozent.<br>';
}
?>

Ausgabe für Beispiel 2:

Es werden jetzt 2 Zeichenketten mit der Zeichenkette „Nico“ überprüft.
- Die beiden Zeichenketten (Nico und Lydia) haben insgesamt 1 gleiche Zeichen und daraus ergibt sich eine Ähnlichkeit von 22.2222222222 Prozent.
- Die beiden Zeichenketten (Nico und Nadine) haben insgesamt 2 gleiche Zeichen und daraus ergibt sich eine Ähnlichkeit von 40 Prozent.

 

Tags:

 

Artikel hinzufügen bei: