| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 01.06.2004
Beiträge: 136
![]() | Hi! Es ist ein Teil des Scripts für eine Suchfunktion, wenn ich das ganze Script hier reinposte, wäre ein bischen viel. In diesem Teil werden alle Wörter, aller Zeilen, aller Dateien in ein Array gespeichert. Dieses Array dient dann für einen Vergleich mit dem Suchwort, um Alternativen vorzuschlagen. Ich habe den einen Teil geändert und funktioniert auch. Code: function Vergleich($AlleDateien,$suchwort)
{
echo "Oder meinten Sie: ";
$AllWords = array();
foreach($AlleDateien as $AllZeilen){
$zeile = file($AllZeilen);
foreach($zeile as $wort){
// Wörter der Zeile werden von Code gesäubert und dem Array zugefügt
$CleanWort = strip_tags($wort);
// Zeile wird in einzelne Wörter zerlegt
$EinzWoerter = split(" ",$CleanWort);
foreach($EinzWoerter as $EinzWort) {
$EinzWort = trim($EinzWort);
if($EinzWort!=""){
array_push($AllWords,$EinzWort);
}
}
}
}
Code: // Doppelte Werte werden aus dem Array entfernt
$AllWordsFilter = array_unique($AllWords);
foreach($AllWordsFilter as $woerter){
similar_text ($suchwort,$woerter,$prozent);
$prozent = sprintf('%01.2f', $prozent);
//Wenn das Suchwort im Vergleichswort enthalten ist
//oder die Ähnlichkeit höher als 60% ist, soll das Vergleichswort als Alternative angeboten werden
if(preg_match($suchwort,$woerter)||$prozent>60.00){
echo "".$woerter."
";
}
}
}
|
| |
| | |
| Erfahrener Benutzer Registriert seit: 01.06.2004
Beiträge: 136
![]() | So funktioniert es: Code: // Doppelte Werte werden aus dem Array entfernt
//$AllWords = array_unique($AllWords);
foreach($AllWords as $woerter){
similar_text ($suchwort,$woerter,$prozent);
$prozent = sprintf('%01.2f', $prozent);
//Wenn das Suchwort im Vergleichswort enthalten ist
//oder die Ähnlichkeit höher als 60% ist, soll das Vergleichswort als Alternative angeboten werden
if(preg_match("/".$suchwort."/i",$woerter)||$prozent>60.00){
echo "".$woerter."
";
}
}
}
|
| |
| | |
| Erfahrener Benutzer Registriert seit: 01.06.2004
Beiträge: 136
![]() | So hat es nun funktioniert! Code: function Vergleich($AlleDateien,$suchwort)
{
echo "Oder meinten Sie:
";
$AllWords = array();
foreach($AlleDateien as $AllZeilen){
$zeile = file($AllZeilen);
foreach($zeile as $wort){
// "HTML Wörter" werden in normale Wörter umgewandelt
$CleanWort = html_entity_decode($wort);
// Wörter der Zeile werden von Code gesäubert und dem Array zugefügt
$CleanWort = strip_tags($CleanWort);
// Zeile wird in einzelne Wörter zerlegt
$EinzWoerter = split(" ",$CleanWort);
foreach($EinzWoerter as $EinzWort) {
$EinzWort = preg_replace('~[^\w-]~', '', $EinzWort);
$EinzWort = trim($EinzWort);
if($EinzWort!=""){
array_push($AllWords,$EinzWort);
}
}
}
}
// Doppelte Werte werden aus dem Array entfernt
$AllWords = array_unique($AllWords);
// Suchwort wird mit "relevanten" Wörtern verglichen
foreach($AllWords as $woerter){
similar_text ($suchwort,$woerter,$prozent);
$prozent = sprintf('%01.2f', $prozent);
//Wenn das Suchwort im Vergleichswort enthalten ist
//oder die Ähnlichkeit höher als 60% ist, soll das Vergleichswort als Alternative angeboten werden
if($prozent>60.00||preg_match("/".$suchwort."/i",$woerter)){
echo "".$woerter."
";
}
}
}
Ich hatte gestern zum 1x mit Zend Development gearbeitet und beim durchlaufen des Codes habe ich ab und zu auf Stop geklickt, daraufhin wurde auch der Vorgang im Browser abgebrochen und es wurde nur zum Teil ausgegeben. Ich dachte aber es wäre ein Fehler im Script. Naja man lernt nie aus, vielen Dank für eure Hilfe!!! |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| bitte hilfe! mysql fehler meldung: | basicx | PHP Tipps 2008 | 2 | 22.07.2008 16:36 |
| mysql fehler meldung: | basicx | Datenbanken | 1 | 22.07.2008 09:48 |
| Mysql Syntax Fehler | Datenbanken | 3 | 06.07.2006 09:58 | |
| Fehler bei Javascript und Klammernsetzen | HTML, Usability und Barrierefreiheit | 8 | 28.07.2005 22:41 | |
| Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar | PHP-Fortgeschrittene | 19 | 31.05.2005 14:52 | |
| Blöder MySQL Fehler | PHP Tipps 2005 | 3 | 15.05.2005 03:14 | |
| Fehlermeldung - aber kein fehler... | Tschuu | HTML, Usability und Barrierefreiheit | 16 | 14.03.2005 15:56 |
| finde fehler trotz manual nicht: SELECT | lindner | Datenbanken | 3 | 13.03.2005 08:39 |
| [Erledigt] Wo liegt der fehler?? | PHP-Fortgeschrittene | 5 | 22.12.2004 09:54 | |
| [Erledigt] mysql fehler | PHP Tipps 2004 | 2 | 03.11.2004 00:32 | |
| Wo ist der Fehler? | socke | Datenbanken | 10 | 01.11.2004 18:10 |
| Hilfe ich finde den Fehler nicht! | PHP Tipps 2004 | 2 | 07.10.2004 17:40 | |
| array_push nur in begrenzter Anzahl ausführen ? | PHP Tipps 2004 | 2 | 07.09.2004 09:05 | |
| mysql_real_escape_string - Fehler | Schaelle | Datenbanken | 0 | 03.07.2004 23:32 |
| Paradox, Fehler bei Berechnung in MySQL | MrNiceGuy | Datenbanken | 0 | 23.06.2004 16:09 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| fehlerbilder erkennen, vergleichswort |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.