[5.3] Changed startsWith and endsWith to use substr (non mbstring) #15380
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is OK here because it doesn't
matter whether it's multi-byte unicode chars or not, just that the same number of bytes match at
the start or the end.
The performance of the existing methods becomes increasingly slow with larger strings due to
mbstring functions.
See https://gist.github.com/Perturbatio/adfe10304f65fb7bdd1adda0435c2f93 for a test.
Running this on my machine using an extreme example of 4.5MB text@10K iterations returns: