Moin!
Na siehste. Wo is denn das Problem, wenn du schon alles hast?
Leider funzt das nicht bei einer Mail-Adresse oder URL - zumindest habe ich das nicht hinbekommen.
Deine Aufgabenbeschreibung ist ja auch falsch:
Hier ein Beispiel.:
Ursprungsstring "Am 1. Tag sendete er eine Mail an Herrn.Muster@web.de. Danach waren die Kartoffeln dran."
Zielstring "Am 1. Tag sendete er eine Mail an Herrn.Muster@web.de. Danach waren die Kartoffeln dran."
Korrekt wäre:
$input = "Am 1. Tag sendete er eine Mail an Herrn.Muster@web.de. Danach waren die Kartoffeln dran."
$output = array("Am 1. Tag sendete er eine Mail an Herrn.Muster@web.de.",
"Danach waren die Kartoffeln dran.");
Das Problem liegt nicht in den Punkten in der Mailadresse, sondern in den Punkten innerhalb der normalen Sprache, die keine Satzenden sind.
Und selbstverständlich kannst du auch noch Pech haben und auf einen Plenker treffen. Dann stehen alle Satzzeichen umhüllt von zwei Spaces.
Ganz viel Pech bringt dir, wenn du es mit einem Klemper zu tun hast. Der lässt das Leerzeichen nach dem Satzzeichen weg.
Aber jedenfalls wenn du als Regel akzeptierst, dass ein normaler Satz durch "Punkt-Leerzeichen" getrennt wird: Warum nimmst du nicht einfach genau diesen String als Argument für explode()?
$saetze = explode(". ", $input);
Das bringt dir aber natürlich, wie erklärt, Probleme bei "1. Tag". Aber das ist unmöglich mit einfachen Mitteln lösbar, denn eine Zahl kann ja auch legalerweise einfach am Satzende stehen: "Als Zusatzzahl kam die 4. Und Herr Lindemann hatte gewonnen."
- Sven Rautenberg