3v4l.org

run code in 300+ PHP versions simultaneously
<?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 = "&euro;"; $var = html_entity_decode($var, ENT_COMPAT | ENT_HTML401, 'ISO-8859-1'); $var = str_truncat($var); echo $var;
Output for 5.4.1 - 5.4.45, 5.5.24 - 5.5.35, 5.6.7 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
&amp;euro;
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 &amp;euro;
Output for 5.4.0
Output for 5.3.28 - 5.3.29
Notice: Use of undefined constant ENT_HTML401 - assumed 'ENT_HTML401' in /in/NcLMB on line 28 Notice: Use of undefined constant ENT_HTML401 - assumed 'ENT_HTML401' in /in/NcLMB on line 24 &amp;euro;
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.27
Notice: Use of undefined constant ENT_HTML401 - assumed 'ENT_HTML401' in /in/Ipk65 on line 28 Notice: Use of undefined constant ENT_HTML401 - assumed 'ENT_HTML401' in /in/Ipk65 on line 24 &amp;euro;
Output for 4.3.1
Notice: Use of undefined constant ENT_HTML401 - assumed 'ENT_HTML401' in /in/Ipk65 on line 28
Process exited with code 139.
Output for 4.3.0
Notice: Use of undefined constant ENT_HTML401 - assumed 'ENT_HTML401' in /in/NcLMB on line 28
Process exited with code 139.

preferences:
231.78 ms | 401 KiB | 313 Q