$title = str_replace(
            array(":", "?", ".", "!", "$", "^", "*", ",", ";", '"', "%", "~", "@", "#", "[", "]", "<", ">", "\\", "/", "=", "+", "(", ")"), 
                        "-", $title);
$title değişkenine sadece değişecek yeri yazdırın. Mesela sitenin adı www.siteadi.com:
$title = "Ak sakalli dedeyi yakaladim?";
$site = "http://www.siteadi.com";
$title = str_replace(
            array(":", "?", ".", "!", "$", "^", "*", ",", ";", '"', "%", "~", "@", "#", "[", "]", "<", ">", "\\", "/", "=", "+", "(", ")"), 
                        "-", $title);
$title = $site.$title;
yapabilirsiniz. Eğer bu işinize yaramazsa o kısmı ayırmak içinde bir alternatif gösterebilirim.