<?php
function url($string) {
$entrada = array( 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','X','Z','W','Y','ä','ã','à','á','â','ê','ë','è','é','ï','ì','í','ö','õ','ò','ó','ô','ü','ù','ú','û','À','Á','É','Í','Ó','Ú','ñ','Ñ','ç','Ç',' ','-','(',')',',',';',':','|','!','"','#','$','%','&','/','=','?','~','^','>','<','ª','º','.','+' ); $saida = array( 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','x','z','w','y','a','a','a','a','a','e','e','e','e','i','i','i','o','o','o','o','o','u','u','u','u','a','a','e','i','o','u','n','n','c','c','-','-','','','','','','','','','','','','','','','','','','','','','','','' ); }
$str = "This is a test url - hyphen problem. When there is space before a character.";
echo url($str);
PD9waHAKCmZ1bmN0aW9uIHVybCgkc3RyaW5nKSB7CiAgICAkZW50cmFkYSA9IGFycmF5KCAnQScsJ0InLCdDJywnRCcsJ0UnLCdGJywnRycsJ0gnLCdJJywnSicsJ0snLCdMJywnTScsJ04nLCdPJywnUCcsJ1EnLCdSJywnUycsJ1QnLCdVJywnVicsJ1gnLCdaJywnVycsJ1knLCfDpCcsJ8OjJywnw6AnLCfDoScsJ8OiJywnw6onLCfDqycsJ8OoJywnw6knLCfDrycsJ8OsJywnw60nLCfDticsJ8O1Jywnw7InLCfDsycsJ8O0Jywnw7wnLCfDuScsJ8O6Jywnw7snLCfDgCcsJ8OBJywnw4knLCfDjScsJ8OTJywnw5onLCfDsScsJ8ORJywnw6cnLCfDhycsJyAnLCctJywnKCcsJyknLCcsJywnOycsJzonLCd8JywnIScsJyInLCcjJywnJCcsJyUnLCcmJywnLycsJz0nLCc/JywnficsJ14nLCc+JywnPCcsJ8KqJywnwronLCcuJywnKycgKTsKICAgICRzYWlkYSAgID0gYXJyYXkoICdhJywnYicsJ2MnLCdkJywnZScsJ2YnLCdnJywnaCcsJ2knLCdqJywnaycsJ2wnLCdtJywnbicsJ28nLCdwJywncScsJ3InLCdzJywndCcsJ3UnLCd2JywneCcsJ3onLCd3JywneScsJ2EnLCdhJywnYScsJ2EnLCdhJywnZScsJ2UnLCdlJywnZScsJ2knLCdpJywnaScsJ28nLCdvJywnbycsJ28nLCdvJywndScsJ3UnLCd1JywndScsJ2EnLCdhJywnZScsJ2knLCdvJywndScsJ24nLCduJywnYycsJ2MnLCctJywnLScsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycsJycgKTsKICAgIHJldHVybiBzdHJfcmVwbGFjZSgkZW50cmFkYSwgJHNhaWRhLCAkc3RyaW5nKTsKfQoKCiRzdHIgPSAiVGhpcyBpcyBhIHRlc3QgdXJsIC0gaHlwaGVuIHByb2JsZW0uIFdoZW4gdGhlcmUgaXMgc3BhY2UgYmVmb3JlIGEgY2hhcmFjdGVyLiI7CgplY2hvIHVybCgkc3RyKTs=