$char = mb_substr($string, $i, 1);␊ |
/** HTML Begins */␊ |
if ($char === '<') {␊ |
if(!empty($word)) {␊ |
if (!empty($word)) {␊ |
$line_len += mb_strlen($word);␊ |
$wrapped .= $word;␊ |
$word = '';␊ |
}␊ |
$html = true;␊ |
$wrapped .= $char;␊ |
} elseif ($char === '>') {␊ |
continue;␊ |
} ␊ |
if ($char === '>') {␊ |
/** HTML ends */␊ |
$html = false;␊ |
$wrapped .= $char;␊ |
} elseif ($html) {␊ |
continue;␊ |
} ␊ |
if ($html) {␊ |
/** If this is inside HTML -> append to the wrapped string */␊ |
$wrapped .= $char;␊ |
} elseif ($char === "\n") {␊ |
continue;␊ |
} ␊ |
if ($char === $wrapString) {␊ |
/** Whitespace characted / new line */␊ |
$wrapped .= $word.$char;␊ |
$word = '';␊ |
$line_len = 0;␊ |
} elseif ($char === ' ' || $char === "\t") {␊ |
continue;␊ |
} ␊ |
if (in_array($char, array(' ', "\t"))) {␊ |
// Word delimiter, check if split before it needed␊ |
$word .= $char;␊ |
if(strlen($word) + $line_len <= $length) {␊ |
$line_len += strlen($word);␊ |
if (mb_strlen($word) + $line_len <= $length) {␊ |
$line_len += mb_strlen($word);␊ |
$wrapped .= $word;␊ |
$word = '';␊ |
}␊ |
␊ |
} else {␊ |
/** Check chars */␊ |
$word .= $char;␊ |
if (mb_strlen($word) >= $length) {␊ |
$wrapped .= $word.$wrapString;␊ |
} else {␊ |
// If we add the word, it will be above the limit␊ |
$line_len = mb_strlen($word);␊ |
$wrapped .= $wrapString.$word;␊ |
$word = '';␊ |
$line_len = 0;␊ |
} elseif (mb_strlen($word) + $line_len > $length) {␊ |
$wrapped .= $wrapString;␊ |
$line_len = 0;␊ |
} ␊ |
}␊ |
continue;␊ |
}␊ |
/** Check chars */␊ |
␊ |
$word .= $char;␊ |
if (mb_strlen($word) + $line_len > $length) {␊ |
$wrapped .= $wrapString;␊ |
$line_len = 0;␊ |
continue;␊ |
} ␊ |
if (mb_strlen($word) >= $length) {␊ |
$wrapped .= $word.$wrapString;␊ |
$word = '';␊ |
$line_len = 0;␊ |
continue;␊ |
} ␊ |
}␊ |
if ($word !== '') {␊ |
$wrapped .= $word;␊ |