Если вы уверены, что начало строки содержит _
, вы можете сделать это просто с помощью strspn()
:
echo strspn('___abcd_abc', '_');
// -> 3
Если не может быть начальных подчеркиваний, вы можете сделать это безрегулярное выражение с использованием strlen
и ltrim
:
strlen($str) - strlen(ltrim($str, "_"));
Подсчитывает длину строки, затем вычитает длину строки без подчеркиваний слева, в результате получается число подчеркиваний.