kostenloser Webspace werbefrei: lima-city


Text kompliziert machen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    toolz

    Kostenloser Webspace von toolz

    toolz hat kostenlosen Webspace.

    Hallo!
    Ich habe eine anspruchsvolle Aufgabe, für die ich eine optimale Lösung suche. Ich programmiere gerade ein wenig aus Spaß mit PHP. Jetzt kann ein Nutzer dem anderen eine Nachricht schicken. Allerdings soll die nicht unverändert ankommen, sondern der Text soll verkompliziert werden.
    Hallo!
    Wie geht es dir?
    Hieraus wird dann z.B.
    a#sl geHt dir? sia!
    Es soll also die Satzkonstruktion verändert werden, Sätze dürfen gemischt werden und manche Wörter zufallsbedingt unleserlich. Ich dachte schon über viele Methoden nach, wie ich eine allgemeine Nachricht verkomplizieren kann. Verändere ich einfach nur jedes x-te Wort, so kann man das so umgehen:
    H a l l o !
    H 38 a l l reg# !
    Das Wort ist noch einigermaßen leserlich.
    Also dachte ich über die Eliminierung aller Leerzeichen und anschließende Buchstabenveränderung nach. Tatsächlich funktioniert das immer, aber der Text ist dann überhaupt nicht mehr zu erkennen.

    Wie schaffe ich es, den Text so zu verunstalten, dass er aussieht, als habe ihn ein kleines Kind geschrieben, aber dennoch leserlich bleibt?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. karlsve

    Moderator Kostenloser Webspace von karlsve

    karlsve hat kostenlosen Webspace.

    Schwierige Aufgabe:
    dafür wäre es evtl ganz hilfreich, die Vokale beizubehalten und nur bei der Reihenfolge dann zu verändern.

    Das hieße, dass aus "Hallo" zwar "oH3a§" werden kann, aber nicht "$l%Hl!", denn ohne die Vokale ist die deutsche Sprache fast unmöglich zu verstehen. Schon die angesprochene Reihenfolge zerstört eigentlich den AHA!-Effekt wenn man ein Wort versteht, denn es ergeben sich unter Umständen zu viele Möglichkeiten. Ein simples Beispiel wäre "genau" -> "augen".

    Ich hoffe das hat ein paar Ansätze in gegeben was man so verändern kann ohne das es unleserlich wird.

    Zu deinem Problem welche Wörter verunstaltet werden sollen:
    Zähl doch die Wörter eines Satzes und nimm einen Prozentteil der Gesamtwörter als verunstaltete.
    Das hieße wenn man 6 Wörter hat und 50% verunstaltet, dann teilt man die Anzahl der Wörter durch 2 bzw. nimmt es mit 0.5 mal. Anschließend lässt man so häufig eine Schleife durchlaufen und jedesmal generiert man eine Zufallszahl im Bereich der Anzahl der Wörter. In diesem Fall also 3 Durchläufe und jeweils eine Zufallszahl zwischen 1 und 6 (1 und 6 eingeschlossen).
    Diese Prozentzahl kann man natürlich auch noch zufällig generieren, damit sich ein Benutzer nicht auf eine bestimmte Zahl an Wörtern die verdreht sind einstellen kann.

    MfG
    karlsve
  4. Wie wärs mit
    Leetspeak -> http://de.wikipedia.org/wiki/Leetspeak
    ansonsten gibt es genügend Kryptosysteme ein Beipsiel ist die berühmte
    Caesar-Verschlüsselung -> http://de.wikipedia.org/wiki/Caesar-Chiffre
    einfach etwas nach Kryptographie Googeln dann findest bestimmt etwas :)
  5. Oedr du knasnt eicfnah die Agnnfas- und Endbtuachbsen biebelesasn und alle Bhcbstuaen dzaweicshn zäluflig dcruheinneadr wreüfln. *gg

    Zwar hast du damit den Text nicht verkompliziert... aber er ist leserlich und sieht aus, als hätte ihn ein kleines Kind geschrieben.
  6. Autor dieses Themas

    toolz

    Kostenloser Webspace von toolz

    toolz hat kostenlosen Webspace.

    ryanblack schrieb:
    Oedr du knasnt eicfnah die Agnnfas- und Endbtuachbsen biebelesasn und alle Bhcbstuaen dzaweicshn zäluflig dcruheinneadr wreüfln. *gg

    Zwar hast du damit den Text nicht verkompliziert... aber er ist leserlich und sieht aus, als hätte ihn ein kleines Kind geschrieben.
    Das ist dennoch genau das, was ich haben möchte. Das Problem ist ja nur, wie bereits geschildert, dass wenn ich einen Satz so schreibe:
    D a s - i s t - e i n - S a t z - d e r - n i c h t - v e r ä n d e r t - w i r d
    Jetzt umgeht der Nutzer diesen Effekt, in dem gar keine Wörter zustande kommen.
    Oder jemand schreibt einen normalen Text, ein wichtiges Wort aber wie oben.

    Das muss auch umgangen werden können...

    Meine momentane Idee ist, dass ich einfach alle Wörter, die nicht mindestens aus vier Zeichen bestehen, durch zufällige Zeichen ersetze. Was haltet ihr davon?

    --> Wobei man dann sowas machen könnte:
    hwDi sAio poSo  =>  DAS
    Dann müsste ich alle Zeichen noch klein machen. Kennt ihr noch Sonderfälle?

    Beitrag zuletzt geändert: 16.12.2010 17:51:52 von toolz
  7. @ryanblack echt genial... hab es beim ersten lesen garnicht richtig bemerkt :) sorry für den off-topic Beitrag
  8. Zuerst nimmst du am Besten alle Punkte raus. Das kann man auf mehrere Weisen tun, die einfachste ist aber mit Sicherheit, die Funktion str_replace() zu verwenden. Sind keine Punkte mehr vorhanden, wird das später mit der Groß- und Kleinschreibung (die du natürlich auch manipulierst) sehr schwierig zu verstehen.

    Mit der Funktion explode() machst du dann aus jedem Wort ein Arrayelement. Damit lassen sich Wörter besser als einzelne "Dinge" handhaben.

    Dann kannst du weiter so vorgehen:
    $explodet_text = explode('.', $text);
    $i = mt_rand(1, 5);
    foreach($explodet_text as $word)
    {
    	if($i == 0)
    	{
    		// stelle was mit dem Wort an...
    		// ...und weiter im Text:
    		$i = mt_rand(0, 5);
    	}
    	$i--;
    }
    Dass ich oben nur einen Zufallsbereich von 1-5, und nicht von 0-5, wie in der Schleife gewählt habe, sorgt dafür, das das erste Wort heil bleibt.
  9. Du könntst auch infach immr dn Buchstabn löschn. Dann kann man dn Txt immr noch lsn, abr r ist trotzdm stark vrändrt.
    Dis kann man dann auch nicht durch infügn von Lrzichn umghn.
    mfg
    xompsl
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!