PHP ver gevorderde |
|
PARAM1: string - in te korte var
PARAM2: int - absolute max aantal letters
PARAM3: bool(false) OR string - string waarop het enkel mag afgekapt worden vb . dwz dat er enkel op een . kan worden afgekapt
PARAM4: string - als $var te lang is word dit opt einde toegevoegt
<?
function inleiding($var, $max, $which = false, $vervang = '...')
{
if((strlen($var) + (strlen($vervang)/2)) > $max)
{
if($which == false)
{
return substr($var, 0, $max) . $vervang;
}
elseif(!empty($which))
{
$exp_on = '&$//*+-%µ£78/^¨/*-*&§ç';
$var = str_replace($which, $which . $exp_on, $var);
$woordjes = explode($exp_on, $var);
for($i=0, $lettertjes=0, $zin = ''; $i<count($woordjes); $i++)
{
$lettertjes += strlen($woordjes[$i]);
if($lettertjes < $max)
{
$zin .= $woordjes[$i];
}
else
break;
}
return $zin . $vervang;
}
}
return $var;
}
<? function inleiding($var, $max, $which = false, $vervang = '...') { { if($which == false) { return substr($var, 0, $max) . $vervang; } { $exp_on = '&$//*+-%µ£78/^¨/*-*&§ç'; $woordjes = explode($exp_on, $var); for($i=0, $lettertjes=0, $zin = ''; $i<count($woordjes); $i++) { $lettertjes += strlen($woordjes[$i]); if($lettertjes < $max) { $zin .= $woordjes[$i]; } else break; } return $zin . $vervang; } } return $var; }
in jouw geval zal er dus PARAM3 [/ worden
EDIT: die laatste ubb ding zal dan wel niet werken maar dan zul je ff de functie moeten ombouwen dat hij dat wel doet... |