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

Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
http://www.Artfiles.de
speicherzentrum.d...
Bei den Anbieter bekommt man Webspace, Domains und...
http://www.speicherzentrum.de
 
 
 

Ähnlichkeit zwischen zwei Zeichenketten bestimmen

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

Aehnlichkeit zwischen zwei Zeichenketten bestimmen



Eintrag am:  16.12.2009
Hits / Besucher:  5461
Sprache: Deutsch
Kategorie:  Einsteiger Tutorials...
Tutorial Art:  eigenes
 

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


 

Verlink uns, wenn Dir das Tutorial gefallen hat:
Artikel hinzufügen bei: