Uses preg_split() instead of preg_match() with quantifiers in safe_substr() to avoid 65535 limit on quantifiers (regexp.reference.repetition), encountered for large strings.
Also normalizes the $start arg so its behaviour is the same no matter which substr method gets used.
Also checks that mb_substr() is available before using it in _safe_substr_eaw().
The following was noticed in testing and is unrelated so can do in a separate PR to reduce churn if desirable:
Also adds check that $encoding doesn't evaluate to false before passing it to mbstring functions as they can fail otherwise (seems to be system dependent).
Fixes wp-cli/db-command#54
Uses
preg_split()
instead ofpreg_match()
with quantifiers insafe_substr()
to avoid 65535 limit on quantifiers (regexp.reference.repetition), encountered for large strings.Also normalizes the
$start
arg so its behaviour is the same no matter which substr method gets used.Also checks that
mb_substr()
is available before using it in_safe_substr_eaw()
.The following was noticed in testing and is unrelated so can do in a separate PR to reduce churn if desirable:
Also adds check that
$encoding
doesn't evaluate to false before passing it tombstring
functions as they can fail otherwise (seems to be system dependent).