Con una expresión regular, por ejemplo.
Si sólo hay números, la solución más sencilla, es la obvia:
Código:
$x = '<span id="prueba">12345</span>';
# Buscamos un conjunto de dígitos en toda la línea:
($extracto) = $x =~ m/(\d+)/;
print $extracto;
Si queremos extraer todo lo que haya dentro de la etiqueta span, entonces:
Código:
$x = '<span id="prueba">12345</span>';
($extracto) = $x =~ m#>(.+)</span>#;
print $extracto;
Esto no parece muy claro, pero funciona en el ejemplo dado. Lo que estamos haciendo es quedarnos (
()) con todos los caracteres (
.+?) que estén entre la etiqueta de cierre (
</span>) y el inmediatamente (
?) ángulo de cierre de la etiqueta anterior (
>), que, presumiblemente será el de apertura de span (si el html está bien escrito), por eso no la ponemos en la expresión regular.