&$fragment) { // Never shorten last fragment if ($key == $count - 1) { break; } // Check for empty fragments (shouldn't happen but it's possible) $fragLen = strlen($fragment); if ($fragLen <= 1) { continue; } // Shorten fragment to one character and check if total length satisfactory $fragment = substr($fragment, 0, 1); $currentLength = $currentLength - $fragLen + 1; if ($currentLength <= $length) { break; } } unset($fragment); return implode('\\', $fragments); } }