Skip to main content

⚙️ 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;