Обрезаю все лишнее в строке из логов сервера, кроме идентификатора 19 символьного (как оказалось и другая длина может быть), по следующему принципу: нахожу где начало по ключевому слову (идущему перед искомыми цифрами), отрезаю левую часть и остается id с хвостом из лишних символов справа от него. Далее применяю substr таким образом, что первые 19 символов оставались и отрезалось все остальное:
$var = substr($var, 0, 19);
Но недавно обнаружил, что идентификаторы в редких случаях имеют длину, отличную от 19 символов...
Вопрос: как в этом случае отрезать лишний хвост в правой части строки? Так, чтобы отрезалось все кроме этих идущих в самом начале цифр? После этих цифр идут всякие не цифровые символы, однако через сколько то позиций опять начинаются цифры и эти цифры тоже не нужны.
Пример:
123456789012345" "Mozilla/5.0 (Linux; Android 7.0; AGS-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"
От всего что после 123456789012345 надо избавиться. Просто убрать все символы кроме цифр не подходит, т.к. еще и другие цифры не нужные присутствуют после 123456789012345. Но не все строки такие, как в этом примере. Возможно в каких то случаях, в логах сервера, не будет кавычки и будет просто пробел, или это будет конец строки, или еще какие то варианты. Как это все попроще предусмотреть?