Hi,
Diese Funktion habe ich schon ausprobiert, sie funktioniert aber nicht richtig.
Überprüfe ich 'Tue, 32 Jul 2004 23:33:60 +0200' gibt mir die Funktionen keinen Fehler aus sondern den Timestamp vom 'Aug 01 2004 23:34:00'.
ja, das habe ich übersehen, da es m.E. keinen wirklichen Fehler darstellt, sondern so gewollt ist - mktime() operiert genauso.
Ich brauche aber eine Möglichkeit die Daten auf gültige Werte zu überprüfen. RegExp scheiden aus, da die Syntax von RFC-822 ziemlich komplex sein kann (habe ich gelesen).
Um o.g. Fehler ebenfalls auszuschließen, könntest du den von strtotime() erhaltenen timestamp wieder in eine RFC-822-Zeichenkette umwandeln und mit der vorherigen vergleichen:
<?php
$rfcTime = 'Tue, 32 Jul 2004 23:33:60 +0200';
$timestamp = strtotime($rfcTime);
$rfcCheck = (-1 != $timestamp)
? date('r', $timestamp) // $rfcCheck ist nun == 'Sun, 1 Aug 2004 23:34:00 +0200'
: '';
if ($rfcTime != $rfcCheck)
{
// Fehler
}
?>
oder so ähnlich...
Gruß,
Andreas.