Doppelpunkt bricht Inhalt ab
Hallo!
Wenn ein User in seinen Termin-Text einen Doppelpunkt einbaut, z.b.:
"Folgendes: Bla bla..."
wird der Text ab "Folgendes" abgeschnitten.
Woran kann das grundsätzlich in PHP und HTML liegen? Umlaute werden korrekt angezeigt.
Liebe Grüße
Homer
Wenn ein User in seinen Termin-Text einen Doppelpunkt einbaut, z.b.:
"Folgendes: Bla bla..."
wird der Text ab "Folgendes" abgeschnitten.
Woran kann das grundsätzlich in PHP und HTML liegen? Umlaute werden korrekt angezeigt.
Liebe Grüße
Homer
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 215959
Url: https://administrator.de/contentid/215959
Ausgedruckt am: 25.11.2024 um 01:11 Uhr
19 Kommentare
Neuester Kommentar
Hallo,
Wird es bereits bei der Eingabe falsch angezeigt?
Datenbank?
JavaScript?
Gruß
Wenn ein User in seinen Termin-Text einen Doppelpunkt einbaut, z.b.:
"Folgendes: Bla bla..."
wird der Text ab "Folgendes" abgeschnitten.
Und wie sieht das Script dazu aus?"Folgendes: Bla bla..."
wird der Text ab "Folgendes" abgeschnitten.
Wird es bereits bei der Eingabe falsch angezeigt?
Datenbank?
JavaScript?
Umlaute werden korrekt angezeigt
Ok dein Character Set stimmt schon mal.Gruß
Das wird nicht gehen denn ein iCal-File trennt die Felder mit einem Doppelpunkt voneinander. Du müsstest vor dem parsen in dem File mit einer Regular Expression die jeweilige Description des Termins ausfiltern und "nur" dort den Doppelpunkt ersetzen.
Okay, ein Wehrmutstropfen: Der User muss nach dem Doppelpunkt auch ein Leerzeichen eigeben. Das ist natürlich nicht so gut.
Du könntest wie ich oben schon geschrieben habe das iCal-File vorher "impfen" und den Doppelpunkt nur an den jeweiligen Stellen ersetzen (in diesem Fall durch ein Leerzeichen):Beispiel:
$path_ical = 'test.ical';
$content = file_get_contents($path_ical);
$lines = preg_split('/END:/',$content);
$newLineArray = preg_replace('/SUMMARY:([^\n]*)(:)([^\n]*)/s','SUMMARY:$1 $3',$lines);
for ($i = 0; $i < count($newLineArray); $i++){
$newContent .= $newLineArray[$i] . " END:";
}
file_put_contents($path_ical,$newContent);
Grüße Uwe
Hallo Homer,
so sollte es eigentlich funktionieren(bei mir erfolgreich getestet), kommt aber drauf an wie du es weiterverarbeitest. Die Funktion liefert den originalen Inhalt des ical-Files reduziert um die Doppelpunkte im SUMMARY-Field zurück
also machst du dann den Aufruf wie folgt:
danach gibst du die Variable
-edit- habe das oben zusätzlich noch in die Funktion eingebaut.
Aber man sollte wirklich mal drüber nachdenken die eigentliche Funktion die das ical in ein XML einliest so umzuschreiben das nicht nur nach Doppelpunkten getrennt wird sondern das ganze mit Regular Expressions macht. Das ist wesentlich zuverlässiger !! Werde mir das beizeiten mal anschauen, im Moment ist zu wenig Zeit...
Grüße Uwe
so sollte es eigentlich funktionieren(bei mir erfolgreich getestet), kommt aber drauf an wie du es weiterverarbeitest. Die Funktion liefert den originalen Inhalt des ical-Files reduziert um die Doppelpunkte im SUMMARY-Field zurück
function cleanICAL($URL) {
$content = file_get_contents($URL);
$content = preg_replace('/\n/', "", $content);
$lines = preg_split('/END:/',$content);
$newLineArray = preg_replace('/SUMMARY:([^\n]*)(:)([^\n]*)/s','SUMMARY:$1 $3',$lines);
$newLineArray = preg_replace('/DESCRIPTION:([^\n]*)(:)([^\n]*)SUMMARY:/s','DESCRIPTION:$1 $3SUMMARY:',$newLineArray);
for ($i = 0; $i < count($newLineArray); $i++){
$newContent .= $newLineArray[$i] . " END:";
}
var_dump($newContent);
return $newContent;
}
$newICALContent = cleanICAL("http://www.ichbineineurl.de/test.ical");
$newICALContent
an die eigentliche Funktion die daraus ein XML-File macht. Oder du schreibst wie ich es im vorigen Thread angegeben habe das ICAL-File ins FileSystem und übergibst diesen Pfad an die eigentliche XML-Funktion.Ah, ich glaube, ich muss nich nach SUMMARY sondern nach DESCRIPTION
SUMMARY
ist der Betreff des TerminsDESCRIPTION
sind zusätzliche Beschreibungen des Termins-edit- habe das oben zusätzlich noch in die Funktion eingebaut.
Aber man sollte wirklich mal drüber nachdenken die eigentliche Funktion die das ical in ein XML einliest so umzuschreiben das nicht nur nach Doppelpunkten getrennt wird sondern das ganze mit Regular Expressions macht. Das ist wesentlich zuverlässiger !! Werde mir das beizeiten mal anschauen, im Moment ist zu wenig Zeit...
p.s. Nehm diese Funktion hier, die macht genau das was du willst wesentlich zuverlässiger: http://evertpot.com/248/
Grüße Uwe