Hallo,
so, ich bin jetzt schon ein gutes Stückchen weitergekommen, habe aber irgendwo noch einen Logik- und/oder Programmierfehler, den ich aber, nicht nur aufgrund der etwas vorangeschrittenen Uhrzeit, bedauerlicherweise nicht lokalisieren kann.
Hier der Code:
$Urspruenglicher_Text = "Ein beliebiger Text !!!?????";
$Einzelne_Zeichen_Text = preg_split ('//', $Urspruenglicher_Text, -1, PREG_SPLIT_NO_EMPTY);
$Anzahl_Elemente_Text = count ($Einzelne_Zeichen_Text);
$String_Suche = " !?#&()*+,-./:;=@*";
$Einzelne_Zeichen_Suche = preg_split ('//', $String_Suche, -1, PREG_SPLIT_NO_EMPTY);
$Anzahl_Elemente_Suche = count ($Anzahl_Zeichen_Suche);
$Satzzeichen_bereits_vorhanden = false;
$Bearbeiteter_Text = array ();
for ($i = 0; $i < $Anzahl_Elemente_Text; $i++)
{
if (in_array ($Einzelne_Zeichen_Text [$i], $Einzelne_Zeichen_Suche))
{
$j = 1;
while ($Einzelne_Zeichen_Text [$i + $j] == $Einzelne_Zeichen_Text [$i] and $Einzelne_Zeichen_Text [$i + $j] < $Anzahl_Elemente_Text)
{
$j += 1;
$Satzzeichen_bereits_vorhanden = true;
}
if ($Satzzeichen_bereits_vorhanden == false)
{
array_push ($Bearbeiteter_Text, $Einzelne_Zeichen_Text [$i + $j]);
}
}
else
{
array_push ($Bearbeiteter_Text, $Einzelne_Zeichen_Text [$i + $j]);
}
}
Wenn ich mir mit "print_r ($Bearbeiteter_Text)" das Array anzeigen lasse, bekomme ich folgende Ausgabe, ich habe hierbei Bemerkungen eingefügt, die die fehlerhafte Ausgabe besser hervorheben:
Array (
[0] => E
[1] => i
[2] => n
----------> Ein Leerzeichen fehlt, "b" von "beliebiger" Text wurde verschluckt
[3] => e
[4] => l
[5] => i
[6] => e
[7] => b
[8] => i
[9] => g
[10] => e
[11] => r
[12] =>
----------> [12] scheint ein Leerzeichen zu sein, "T" von "Text" wurde verschluckt
[13] => e
[14] => x
[15] => t
[16] =>
----------> [16] scheint ein Leerzeichen zu sein, sämtliche Satzzeichen wurden verschluckt
)
Könnt ihr mir helfen, diesen ersten Schritt abzuschließen?
Danach stehen noch weitere Bearbeitungsschritte an, dazu muß aber erstmal die Basis stimmen.
Vielen Dank und Gruß
Enrico