⚙️ Snippets Sammlung
copyrightYear
<?php
# [[!copyrightYear]]
# [[!copyrightYear? &start=`2025`]]
$firstYear = !empty($start) ? $start : strftime("%Y");
$currentYear = strftime("%Y");
if ($firstYear == $currentYear) {
$output = $currentYear;
} else {
$output = $firstYear.' - '.$currentYear;
}
return $output;
today_year
<?php
$today = date("Y");
return $today;
emailMask
<?php
# email-Adressen vor bösen bots durch Maskierung verbergen
# [[emailMask? &input=`name.@domain.tld`]]
$hiddenEmail = '';
$length = strlen($input);
for($i = 0;$i<$length;$i++){
$hiddenEmail .= '&#'.ord($input[$i]).';';
}
return $hiddenEmail;
Das Problem:
- Moderne Bots decodieren HTML-Entities ohne Aufwand
- Viele Crawler nutzen fertige Regex dafür
- Browser zeigen im gerenderten DOM wieder die echte E-Mail an → keine wirksame Verschleierung
Die Lösung:
Ein Formular, das E-Mail-Adressen vor der Ausgabe echt verschlüsselt und erst beim Absenden wieder entschlüsselt.
Siehe: FormIt (Kontaktformular) hier im Wiki.
limitWholeWords
<?php
# z.B.: [[*content:limitWholeWords=`100`]]
# Damit wird das letzte Wort nicht abgeschnitten
# und evt. Parser mit preg_replace enfernen
$output = preg_replace('/\[\[(.*)\]\]/', ' ', $input);
$limit = (int) $options;
while (strlen($output) > $limit) {
$output = substr($output, 0, strrpos($output, ' '));
}
return $output;
myIP
<?php
// IP Adresse!
if (isset($_SERVER['REMOTE_ADDR'])) $ipCode=$_SERVER['REMOTE_ADDR'];
else $ipCode='0:0:0:0:0:0:0:0';
return $ipCode;