3v4l.org

run code in 300+ PHP versions simultaneously
<?php function truncate($string, $chars = 100, $terminator = ' …') { var_dump($string, $chars, $terminator); var_dump(mb_strlen($terminator)); $cutPos = $chars - mb_strlen($terminator); var_dump($cutPos); var_dump(mb_strpos($string, ' ', $cutPos)); var_dump(mb_substr($string, 0, mb_strpos($string, ' ', $cutPos))); $boundaryPos = mb_strrpos(mb_substr($string, 0, mb_strpos($string, ' ', $cutPos)), ' '); var_dump($boundaryPos); var_dump(mb_substr($string, 0, $boundaryPos === false ? $cutPos : $boundaryPos) . $terminator); return mb_substr($string, 0, $boundaryPos === false ? $cutPos : $boundaryPos) . $terminator; } echo truncate("#mercedes#benz#flow#summer#drunk#guys#abiball#effzeh#köln#aha#böttiman#mied#labums …");
Output for git.master, git.master_jit, rfc.property-hooks
string(95) "#mercedes#benz#flow#summer#drunk#guys#abiball#effzeh#köln#aha#böttiman#mied#labums …" int(100) string(4) " …" int(2) int(98) Fatal error: Uncaught ValueError: mb_strpos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) in /in/fSkNB:7 Stack trace: #0 /in/fSkNB(7): mb_strpos('#mercedes#benz#...', ' ', 98) #1 /in/fSkNB(15): truncate('#mercedes#benz#...') #2 {main} thrown in /in/fSkNB on line 7
Process exited with code 255.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
37.13 ms | 402 KiB | 8 Q