ich würde gern einen Plagiatscan mit php entwickeln.
Hat jemand dazu eine gute Idee?
Also 3-4 Wörter von einen Ausgangstext (aus einer Arbeit) nehmen und anschließend im anderen Text (aus der Quelle suchen).
Wie kann ich dass am besten durchführen?
Hallo,
am besten arbeitest du mit den Zeichenkettenbefehlen strpos() Suchen nach einer Teilzeichenkette, strlen() Länge messen und substr()Teilzeichenkette extrahieren.
die Lösung hängt davon ab, wie du nach diesen 3-4 Wörtern suchen willst. Wenn die 3 Wörter genau so im Text vorkommen sollen, wie eingegeben, dann liefert dir die Funktion strpos() die genaue Position.
siehe http://www.php.net/strpos
Ansonsten könnte man noch den zu durchsuchenden Text z.B. mittels explode() in einzelne Teile/Worte in ein array zerlegen und dann mit in_array() prüfen, ob jeweils eines der Wörte vorhanden ist.
siehe http://www.php.net/explode und http://www.php.net/in_array
Evtl. müsstest du mal genauer beschreiben, wie deine Suche arbeiten soll.
sorry - mit dem Thema hab ich mich noch nie beschäftigt, aber ich würde nach deiner Beschreibung den Text in ein array laden, und dann den Quelltext in ein anderes und die beiden miteinander vergleichen…
Wenn die gesuchten Wörter genau in dieser Reihenfolge und mit dieser Groß-/Kleinschreibung und dem gleichen Leerzeichen dazwischen gesucht werden sollen,
ist
strpos( $needle, $text )
die beste Methode und liefert die Position des ersten Auftretens in $text zurück oder false, falls nichts gefunden wurde. http://php.net/manual/de/function.strpos.php
Da Du aber vermutlich in der Anwendung parallel in vielen Texten suchen willst und gar nicht genau weißt, welche 3-4 Wörter des Ursprungstextes Du mit der Datenbank der Resttexte vergleichen willst, muss eine vernünftige Übereinstimmungssuche schon etwas komplexer aufgebaut sein. Da weiß ich nicht genau, wo Du eine gute Anleitung finden kannst. Evtl. gehört das ins Feld Text-Mining.
das ist ein sehr weit gefasstes Feld, dass du dir da ausgesucht hast. In jedem Fall werden ein paar Wörter nicht zu einem befriedigenden Ergebnis führen, weil die praktisch überall drin vorkommen. Das Programm sollte eher ganze Sätze verarbeiten.
Für PHP gibt’s diverse Suchfunktionen. Einfach mal mit Google oder auf php.net suchen.