<?php
function str_truncat($string, $nbrchar = 50, $charsfin = "", $addstrfin = "...") {
if($charsfin == "" && strlen(strip_tags($string)) < $nbrchar) {
$stringtruncat = strip_tags($string);
}
else {
$nbr = ($nbrchar)/250;
$addchars = "";
if($nbr > 1) {
for($i = 0;$i < (int)$nbr;$i++) {
$nbrchar -= 250;
$addchars .= ".{250}";
}
}
$addchars .= ".{".$nbrchar."}";
$str1 = preg_replace("(\[+[a-z0-9]+\]{1,2})", "", str_replace("\n"," ",strip_tags($string)));
$str2 = preg_replace("(\[+[a-zA-Z:0-9]+[ |]([^\]]+)*\]+)", "\\1 ", $str1);
$preg = "/^(".$addchars.($charsfin?"[^".$charsfin."]*":"").").*$/";
$str3 = preg_replace($preg, "\\1".$addstrfin, $str2);
$stringtruncat = preg_replace("/ ".str_replace(".", "\.", $addstrfin)."$/", $addstrfin, $str3);
}
return htmlspecialchars($stringtruncat, ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
}
$var = "€";
$var = str_truncat($var);
$var = html_entity_decode($var, ENT_COMPAT | ENT_HTML401, 'ISO-8859-1');
echo $var;
preferences:
36.09 ms | 402 KiB | 5 Q