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
 
Script Seite

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:  6592
Sprache: Deutsch
Kategorie:  Einsteiger Tutorials...
Tutorial Art:  eigenes
Eingetragen von   schubertmedia 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 muss man bei der PHP Funktion similar_text() zwei unterschiedliche Zeichenketten übermitteln.

Wenn man den dritten Parameter an gibt, 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 man mehrere Zeichenketten mit einer Zeichenkette vergleichen möchte, kann man dies mit einer so genannten 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: