quadri Web come Rails e Django è dotato di supporto per "lumache" che vengono utilizzati per generare URL leggibili e SEO-friendly:Come posso generare slug URL in Perl?
Una stringa lumaca in genere contiene solo i caratteri a-z
, 0-9
e -
e può quindi essere scritto senza escape dell'URL (si pensi "pippo% 20bar").
Sto cercando una funzione Slug Perl che, dato qualsiasi stringa Unicode valido restituirà una rappresentazione lumaca (a-z
, 0-9
e -
).
Una funzione eccellente banale lumaca sarebbe qualcosa sulla falsariga di:
$input = lc($input),
$input =~ s/[^a-z0-9-]//g;
Tuttavia, questa implementazione non sarebbe gestire l'internazionalizzazione e gli accenti (voglio ë
diventare e
). Un modo per aggirare questo sarebbe enumerare tutti i casi speciali, ma non sarebbe molto elegante. Sto cercando qualcosa di più ben pensato e generale.
La mia domanda:
- Qual è il/modo pratico più generale per generare Django/Rails tipo lumache in Perl?This è come ho risolto lo stesso problema in Java.
Fai come hai fatto in Java. C'è una particolare operazione che non sai come tradurre? –
brian: Sì, l'operazione che non sapevo come tradurre era "String normalized = Normalizer.normalize (nowhitespace, Form.NFD);". Unicode :: Normalize risolto. Guarda la risposta di Cameron. – knorv