Telefonnummer validieren

Hier ein if-Konstrukt, deren Inhalt dann ausgeführt werden würde, wenn keine gültige Telefonnummer übergeben wurde:

1
2
3
4
5
6
7
8
9
if(
   0==preg_match(
      "^((\+?[0-9]{2,3})|(\(?[0-9 ]+\)?|[0-9 \-])[0-9 \-]*)^",
      $zeichenkette)
   || empty($zeichenkette)
) {
        echo "In der Zeichenkette ".$zeichenkette.
             "ist keine gültige Telefonnummer enthalten.";
}

Datum um ein Jahr erhöhen – Vorsicht Schaltjahr

Im Internet findet man diverse Lösungen, um ein Datum programmiermäßig zu erhöhen. Leider wird dabei oft nicht auf die wenigen Sonderfälle eingegangen, die trotz ihrer Seltenheit natürlich trotzdem auftreten können.

Im folgenden eine Funktion, die ein Datum im Format 0000-00-00 00:00:00 um ein Jahr erhöht. Hierbei ist es wichtig zu beachten, dass an einem 29. Februar (Schaltjahr) die Jahreszahl des Datum nicht einfach um 1 erhöht werden kann, da das Folgejahr naturgemäß keinen 29. Februar hat.
Es wird davon ausgegangen dass die Funktion einen validen Datums-String im genannten Format übergeben bekommt. Sollte das Datum dem Standardwert entsprechen, wird false zurückgegeben.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function get_one_year_later($time_string="0000-00-00 00:00:00") {
	if($time_string != "0000-00-00 00:00:00") {
		if(date("m", strtotime($time_string)) ==
		  "2" && date("d", strtotime($time_string)) == "29") {
			return date("Y-m-d H:i:s",
			  strtotime((date("Y", strtotime($time_string))+1).
			   date("-m-28 H:i:s", strtotime($time_string)))
			);
		} else {
			return date("Y-m-d H:i:s",
			  strtotime((date("Y", strtotime($time_string))+1).
                            date("-m-d H:i:s", strtotime($time_string)))
			);
		}
	}
	return false;
}

E-Mail-Adressen validieren

Das Validieren von E-Mail-Adressen ist des Webprogrammierers täglich Brot. In der Fachliteratur und im Internet finden sich diverse Beispiele, wie man sicherstellen kann, dass eine Benutzer-Eingabe einer formal gültigen E-Mail-Adresse entspricht. Allerdings sind die Lösungen teils lückenhaft oder es wird nicht ausreichend auf die geltenden Standards geachtet.

Hier ein if-Konstrukt, deren Inhalt dann ausgeführt werden würde, wenn keine gültige E-Mail-Adresse übergeben wurde:

1
2
3
if( 0==preg_match("/^[a-zA-Z0-9._%+-ÄÖÜäöü]+(@){1}([a-zA-Z0-9.-ÄÖÜäöü]+)\.[a-zA-Z]{2,}$/i", $zeichenkette) || empty($zeichenkette) ) {
	echo "In der Variable " . $zeichenkette . "ist keine gültige E-Mail-Adresse enthalten.";
}

print_rr

Hier ein kleiner Codeschnipsel. Ich benutze ihn bei kleineren Webanwendungs-Projekten für Debug-Ausgaben, die man während der Entwicklungszeit öfter mal gebrauchen kann.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
* Gibt mithilfe von print_r HTML-formattierte Daten aus
* @param mixed $dataToDisplay zu verarbeitende Daten
* @param boolean $outputVar Daten ausgeben (true) oder zurückgeben (false)
* @return string HTML-fomatierter String der die
		 übergebenen Daten enthält, falls $outputVar true ist
*/
function print_rr($dataToDisplay, $outputVar=false) {
	if($outputVar) {
		return print_r("<div class=\"debug\" style=\"white-space: -pre-wrap;\">"
			.$dataToDisplay."</div>", true);
	} else {
		echo "<div class=\"debug\" style=\"white-space: -pre-wrap;\">";
		print_r($dataToDisplay);
		echo "</div>";
	}
}