I disagree, I prefer `slice()` :) for one thing, substr is considered a "legacy function." Also I mix up substr() and substring() so much that I just use `slice()` to avoid confusion.
There's a misunderstanding: I mainly use `slice` too. I only use `substr` if I have the length of the substring I need. That's its added value.
What I stopped using altogether is `substring`.