truncate
function truncateWords($input, $numwords, $padding="")
{
$output = strtok($input, " \n");
while(--$numwords > 0) $output .= " " . strtok(" \n");
if($output != $input) $output .= $padding;
return $output;
}
$description = strip_tags(render($field_nachricht));
$shortdesc = truncateWords($description, 10, "...");
echo "$shortdesc";
alle Globalen Variablen ausgeben
echo '<pre>';
print_r($GLOBALS);
echo '</pre>';
alle belegten Variablen ausgeben
echo '<pre>';
print_r(get_defined_vars());
echo '</pre>';
Dezimalzahl als Bruch darstellen
function decToFrac($float) {
$whole = floor ( $float );
$decimal = $float - $whole;
$leastCommonDenom = 48;
$denominators = array (2, 3, 4, 8, 16, 24, 48 );
$roundedDecimal = round ( $decimal * $leastCommonDenom ) / $leastCommonDenom;
if ($roundedDecimal == 0)
return $whole;
if ($roundedDecimal == 1)
return $whole + 1;
foreach ( $denominators as $d ) {
if ($roundedDecimal * $d == floor ( $roundedDecimal * $d )) {
$denom = $d;
break;
}
}
return ($whole == 0 ? '' : $whole) . " " . ($roundedDecimal * $denom) . "/" . $denom;
}
php HTTP to HTTPS
if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == ""){
$redirect = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
header("Location: $redirect");
}
Funktion zur Berechnung der vergangen Zeit
/**
* Quick'n'Dirty Funktion zur Zeitberechnung
*
* PHP version 5.4
*
* Eine simple Funktion zur Berechnung der vergangen Zeit
* von einem bestimmten Datum ausgehend. Die Eingabe erfolgt
* dabei in der Form Jahr-Monat-Tag (JJJJ-MM-TT).
* Die Ausgabe erfolgt als Array welcher Jahr (years),
* Monate (months), Wochen (weeks) und Tage (days)
* als Zahlenwerte zur Verfügung stellt.
*
* @param string $input Startdatum in der Form JJJJ-MM-TT
* @return array
* @author BlackRocket <sebastian@brcs.eu>
* @version 1.0
* @license GNU General Public License, version 3
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/
function timecalc($input)
{
date_default_timezone_set("Europe/Berlin");
$date_input = new DateTime($input);
$date_now = new DateTime("now");
$interval = $date_now ->diff($date_input);
$weeks = floor($interval->format('%d') / 7);
$days = ($interval->format("%d") % 7);
$outputY = $interval->format("%Y");
$outputM = $interval->format("%m");
$outputW = $interval->format($weeks);
$outputD = $interval->format($days);
return array( 'years' => $outputY, 'months' => $outputM, 'weeks' => $outputW, 'days' => $outputD );
}
Website Screenshot via PageSpeed Insights API
/**
* Screenshot einer Website via PageSpeed Insights API
*
* Diese Funktion holt sich den Screenshot einer Website aus der
* Datei JSON welche von der PageSpeed Insights API zur Verfügung
* gestellt wird. Im Gegensatz zu anderen Webshot Services ist
* der von Google kostenlos. Eine Einschränkung erfolgt nur seitens
* der Limitierung und der maximal Auflösung von 320x240 Pixel
*
* Die Funktion holt nur einen Screenshot wenn die Datei noch
* nicht vorhanden ist oder der $new Parameter übergeben wird.
*
* @param string $name Name des Screenshorts, ohne Dateiendung
* @param string $url URL der Website
* @param string $apikey Google API key
* @param string $new (optional) 'yes' erzwingt neuen Screenshot
* @param string $savelocation (optional) Speicherort für den Screenshot
* @return null
* @author BlackRocket <sebastian@brcs.eu>
* @version 1.0
* @license GNU General Public License, version 3
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/
function GoScreenshot($name, $url, $apikey, $new = NULL, $savelocation = NULL)
{
$screenshot = (is_null($savelocation)) ? $name.'.jpg' : $savelocation.$name.'.jpg';
if (!file_exists($screenshot) || $new == 'yes') {
$test_url = "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?strategy=desktop&screenshot=true&url=$url&key=$apikey";
$result = file_get_contents($test_url);
$result = json_decode($result,true);
$data = str_replace('_','/',$result['screenshot']['data']);
$data = str_replace('-','+',$data);
$decoded = base64_decode($data);
file_put_contents($screenshot,$decoded);
}
}
randnum
$my_array = array('2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5');
shuffle($my_array);
print implode('',$my_array);