Решение оставлю тут:
Определяем калбак функцию
$data = preg_replace_callback('/<li><a href=\"\/(?<link>.*?)\">/', 'url_punk_decode', data);
Теперь пишем функцию которую мы указали в каллбак 'url_punk_decode'
function url_punk_decode($matches)
{
$matches['link'] = str_replace('/', '_', $matches['link']);
$matches['link'] = str_replace('_#', '#', $matches['link']);
$matches['link'] = str_replace('_"', '"', $matches['link']);
$match_good = preg_replace('/"\/(.*?)"/', '"/'.$matches['link'].'"', $matches[0]);
$match_good = str_replace('_"', '"', $match_good);
return $match_good;
}