Punktuelles im Web Über mich

Hallo und ich bitte Sie um einen kleinen Moment Ihrer Aufmerksamkeit. Diese Webseiten sind umgezogen, genauer gesagt ist dies ein alter Stand, der etwa 9 Jahre alt ist aus einer alten Sicherung wieder auferstanden ist. Inklusive eines HTML-Parsers in PHP und der alten, originalen Inhalte - die natürlich (Stand November 2018) nach und nach aktualisiert werden. Sehen Sie es als Nostalgie oder einfach Spaß an der Sache.
Vielen Dank!

Wir basteln uns Test-Daten, Teil 2

Wir haben einen Text in Passagen aufgebrochen. Dies ist für Test-Daten alleine noch zu wenig. Wir benötigen daraus noch weitere Informationen um unsere Test-Daten etwas "gehaltvoller" gestalten zu können.

Wichtig dabei ist, dass die erzeugten Daten reproduzierbar sind. Zufallsgenerierte Daten sind für zu wiederholende Tests oft nicht verläßlich genug. Wir nehmen als Basis jeweils eine Textpassage, die dem Objekt übergeben wird und generieren daraus Informationen wie Textlänge, einen md5-Schlüssel oder eine Array aller enthaltenen Wörter.

Im Gegensatz zur Klasse "TextTeiler" sind einige Attribute der Klasse auf "public" gesetzt und für einen direkten Zugriff vorgesehen. Ein Überschreiben der Attribute hätte für die Klasse keinerlei Auswirkungen, es werden keine Folgeberechnungen durchführt und es gibt keine anderen Abhängigkeiten innerhalb der Klasse.

class AbsatzInspektor
{
//$Objekt = new AbsatzInspektor("String")
//Dem Objekt wird eine Textpassage uebergeben
//
// $Objekt->Anriss, die ersten Worte der Textpassage
// $Objekt->Laenge, die Laenge der Textpassage
// $Objekt->Woerter, Array mit allen Woertern/Teilen der Textpassage
// $Objekt->AnzahlWoerter, die Anzahl der Woerter/ Teile in dem Array
// $Objekt->Schluessel, (fast) eindeutiger Name in md5

    public $Laenge; public $Anriss;
    public $Schluessel; public $AnzahlWoerter;
    private $Inhalt; private $Zeiger = 0;
    private $Woerter = array();


    function __construct($Inhalt)
    {
        $this->Inhalt = utf8_encode($Inhalt);
        $this->Laenge = strlen($this->Inhalt);
        if($this->Laenge>1)
        {
            preg_match('/(.{20,100}?)( )/is', $this->Inhalt, $Ergebnis);
            $this->Anriss = $Ergebnis[1];
            $this->WoerterAufbrechen($this->Inhalt);
            $this->Schluessel = $this->Schluessel($this->Inhalt);
        }
    }

    public function NaechstesWort()
    {
        $Wort = $this->Woerter[$this->Zeiger];
        $this->Zeiger++;
        return $Wort;
    }

    private function WoerterAufbrechen($Inhalt)
    {
        $Inhalt = str_replace("\r\n", ' ', $Inhalt);
        $this->Woerter = explode(' ', $Inhalt);
        $this->AnzahlWoerter = count($this->Woerter);
    }

    public function AlleWoerter() {return $this->Woerter;}
    public function Zeiger() {return $this->Zeiger;}
    private function Schluessel($Inhalt){return md5($Inhalt.$this->Zeiger);}

}

Natürlich kann der Schlüssel aus einer Kombination von einem Zaehler (private static $Zaehler;) und dem übergebenen Text noch eleganter generiert werden. So aber werden immerhin identische Inhalte verhindert.

http://www.punktuelles-im-web.net Testdaten_Teil_zwei.html, zuletzt geändert: 23.8.2010 16:04:02.