Gracias a todos por sus respuestas y posibles soluciones, la verdad es que de cada una saqué algo y al final obtuve lo que quería. Hice lo siguiente:
Cita: String de entrada:
03:51 You gained 1 experience points.
03:51 You gained 100 experience points.
03:51 You gained 1000 experience points.
(más otras cientos e incluso miles de lineas similares)
Como debo obtener los valores
1, 100, 1000, hice lo siguiente:
Mediante una expresión regular eliminé la hora (03:51), ya que el texto que debo procesar contiene la hora del sistema y en cada linea esta me aparece, por lo tanto, usar
filter_var me daba como resultado los valores:
Es decir, los números de cada línea, incluyendo la hora, con lo cual al momento de querer sumar los valores del centro de cada línea me aparecían los valores de la hora y obviamente estaba malo (al menos para lo que yo necesito).
Entonces...
Por medio de una expresion regular borré del string los siguiente:
Cita: '/[0-9][0-9]:[0-9][0-9] /'
Dejando solamente al ser procesado, esto:
Cita: You gained 1 experience points.
You gained 100 experience points.
You gained 1000 experience points.
Entonces aquí es donde entra:
filter_var, dejando exclusivamente:
Cita: 1
100
1000
Que luego serán procesados.
El objetivo era sacar de alguna manera los números del "medio" de cada línea, y a pesar de que posiblemente esta no sea la manera más sutil de conseguirlo, para lo que necesito hacer es sencillamente viable, ya que me limpia las demás líneas que son MUY diferentes a las que usé para este ejemplo y que también deberán ser procesadas.
Un fuerte abrazo para cada uno de ustedes, y muchísimas gracias por su valiosa ayuda, cada uno supo hacerme entender algo para lograr mi objetivo con este código, que a pesar de ser sencillo para muchos, para mí es dificil porque estoy aprendiendo y la ayuda que ustedes me hicieron llegar fue más que valiosa.
Saludos y un abrazo desde Venezuela.