Your function definition (function obtener($guardardato)) is nested inside of your foreach loop, so every time it loops through an item in the array it will try to redefine the function obtener.
To fix this simply move your function outside of the foreach loop like so:
function obtener($guardardato) {
foreach ($guardardato as $k => $v){
return $v;
}
}
// Buscar Tema
$guardardato = array();
foreach($html->find('table', 2)->find('tr') as $datossc) {
$title = $datossc->find('td', 1)->plaintext;
if ($title != 'Song Title') {
$guardardato[0] = $title;
$guardardato[0] = preg_replace( "(-)", " - ", $guardardato[0]);
$guardardato[0] = preg_replace( "(:)", "", $guardardato[0]);
$guardardato[0] = preg_replace( "([0-9]+)", "", $guardardato[0]);
$guardardato[0] = preg_replace( "(Current Song)", "", $guardardato[0]);
$guardardato[0] = preg_replace( "(pista)", "", $guardardato[0]);
$guardardato[0] = preg_replace( "(pista)", "", $guardardato[0]);
$guardardato[0] = preg_replace( "(www.[a-z]+.com.ar)", "", $guardardato[0]);
$guardardato[0] = preg_replace( "(www.[a-z]+.com)", "", $guardardato[0]);
$guardardato[0] = preg_replace( "(www.[a-z]+.net)", "", $guardardato[0]);
$guardardato[0] = preg_replace( "([a-z]+.com.ar)", "", $guardardato[0]);
$guardardato[0] = preg_replace( "([a-z]+.com)", "", $guardardato[0]);
$guardardato[0] = preg_replace( "([a-z]+.net)", "", $guardardato[0]);
$guardardato[0] = ucwords(strtolower($guardardato[0]));
print obtener($guardardato);
}
}