Hola,
Efectivamente explode te sirve para ese nombre. Pero que pasa si el nombre es "Luix Perezix20 años" ?
<?php
$datos = 'Luix Perezix20 años';
echo $nombre.'<br />';
echo $edad;
?>
Devolvería: Lu Perez
Para eso lo mejor es un regex (expresión regular).
Un ejemplo de google.
$result = preg_split('/(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)/u', $subject);
Esto divide entre texto y numeros.
Devolvería: $nombre = Luix Perezix, $edad = 20 años.
Ejemplo final:
<?php
$datos = 'Luix Perezix20 años';
// Separamos el nombre de los años.
list($nombre,$edad) = preg_split('/(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)/u', $datos); // Eleminamos los ultimos 2 caracteres (ix) del nombre.
echo $nombre.'<br />';
echo $edad;
?>
Devolvería:
Saludos