Salve,
Ho un problemuccio sulla generazione di un link e non ho la più pallida idea di come risolverlo.
Praticamente sto creando un sito di annunci (compravendita informatica), ed ho problemi a gestire l'url di una regione, la Valle d'Aosta che contiene un apice, e ciò non piace molto alla funzione che genera il link, in quanto genera il link così :search/region,Valle%20d'Aosta/
che ovviamente non funziona perchè richiede il doppio apice ovvero: search/region,Valle%20d''Aosta/
Adesso dato il database così composto:https://www.dropbox.com/s/du1weqi2tv...aseregioni.png
E data la funzione che genera il link:
Cosa posso fare affinchè l'url di ricerca della valle d'aosta funzioni correttamente?Codice PHP:function osc_search_url($params = null) {
if(osc_rewrite_enabled()) {
$url = osc_base_url().osc_get_preference('rewrite_search_url');
if($params!=null) {
$url .= "/";
foreach($params as $k => $v) {
switch($k) {
case 'sCountry':
$k = osc_get_preference('rewrite_search_country');
break;
case 'sRegion':
$k = osc_get_preference('rewrite_search_region');
break;
case 'sCity':
$k = osc_get_preference('rewrite_search_city');
break;
case 'sCityArea':
$k = osc_get_preference('rewrite_search_city_area');
break;
case 'sCategory':
$k = osc_get_preference('rewrite_search_category');
if(is_array($v)) {
$v = implode(",", $v);
}
break;
case 'sUser':
$k = osc_get_preference('rewrite_search_user');
break;
case 'sPattern':
$k = osc_get_preference('rewrite_search_pattern');
break;
default:
break;
}
if($k!='page') {
$url .= $k.",".$v."/";
}
}
}
} else {
$url = osc_base_url(true) . '?page=search';
if($params!=null) {
foreach($params as $k => $v) {
if( is_array($v) ) {
foreach($v as $aux) {
$url .= "&" . $k . "[]=" . $aux;
}
} else {
$url .= "&" . $k . "=" . $v;
}
}
}
}
return $url;
}
Per capire meglio l'errore che si genera lascio il dominio del sito tecnomercatino.it, senza link per evitare spam inutile, basta cliccare su valle d'aosta sull'homepage e si palesa subito l'errore. Se si sostituisce nella barra degli indirizzi "valle d'aosta" con ''valle d''aosta" tutto funziona (tranne un paio di errori di stampa facilmente risolvibili).
Il problema è che far generare in automatico il link a "valle d''aosta" è un casino in quanto uso un CMS e i link se li autogenera attingendo al nome delle regioni nel database.
Ho notato che alcuni siti di annunci famosi gestiscono l'url della valle d'aosta come valle-d-aosta... ma non saprei come farlo sul mio sito
Qualsiasi aiuto è ben accetto^^
Grazie in anticipo.
PS: se servono spezzoni di codice o altri screenshot per capire meglio il problema fatemi sapere![]()

Rispondi quotando