Dire che ho il sito:
http://ww.xyz.com/Product.aspx?CategoryId=1Come si rimuovono i caratteri non validi durante la creazione di un URL amico (es. Come si crea una lumaca)?
Se il nome di CategoryId = 1 è "Dogs" Vorrei convertire l'URL in qualcosa di simile a questo:
http://ww.xyz.com/Products/Dogs
Il problema è se il il nome della categoria contiene caratteri stranieri (o non validi per un URL). Se il nome di CategoryId = 2 è "Göra äldre", quale dovrebbe essere il nuovo URL?
Logicamente dovrebbe essere:
http://ww.xyz.com/Products/Göra äldre
ma non funzionerà. Innanzitutto a causa dello spazio (che posso facilmente sostituire con un trattino per esempio) ma per quanto riguarda i personaggi stranieri? In Asp.net ho potuto utilizzare la funzione URLEncode che darebbe qualcosa di simile:
http://ww.xyz.com/Products/G%c3%b6ra+%c3%a4ldre
ma non posso davvero dire che è meglio che l'URL originale (http://ww.xyz.com/Product.aspx?CategoryId=2)
Idealmente vorrei generare questo uno ma come posso fare questo automaticamente (cioè la conversione di caratteri stranieri a caratteri url 'sicuri'):
http://ww.xyz.com/Products/Gora-aldre
Ho scritto un enorme metodo pieno di istruzioni if usando la classe char fino a quando ho trovato questo. Roba buona. –
Penso che ISAPI faccia lo stesso, ma voglio più controllo sui miei URL. Questa è una buona soluzione. –
Grazie per la funzione.Ho dovuto aggiungere un altro pezzo alla fine per sostituire due o più trattini con un trattino singolo. str = System.Text.RegularExpressions.Regex.Replace (str, @ "\ - +", "-"); // converti più trattini in un trattino –