Wanneer een bestand geupload wordt wil ik deze naam gebruiken in de url dat naar het bestand toe linked. Om deze rede zou ik er graag speciale tekens als ë, á, ", \, etc, etc uitfilteren (en wanneer mogelijk vervangen. Bijvoorbeeld 'ë' zou vervangen kunnen worden door 'e' en '\' door niets.
Ik heb hiervoor een functie geschreven waarvan de (waardeloze
) kern er als volgt uit ziet:
In een notendop som ik alles op wat niet mag en haal dit er uit. Een betere methode lijkt het mij om met reguliere expressies juist aan te geven wat wél mag en de rest er uit te filteren. Gezien louter a-z, 1-9 en eventueel - voor de spaties is toegestaan lijkt mij dat makkelijker, beter en efficienter.
Het tweede probleem is dat ik bepaalde tekens zoals boven beschreven wil vervangen, dit lukt, maar dit zou tevens een gigantische lijst worden. Het lijkt me dat ook dit korter kan..
Ik heb me suf gezocht op Google, PHP.net en een aantal forums, maar kan niet vinden wat ik nodig heb. Eventueel zou ik met reguliere expressies bovenstaande kunnen verkorten, maar ik wil het juist omdraaien en tevens tekens vervangen.
Ik heb hiervoor een functie geschreven waarvan de (waardeloze
code:
1
2
| $uitz = array(alle denkbare tekens die niet toegestaan zijn, van ! tot +, van ë tot ®); $zin = trim(stripslashes(strtolower(str_replace($uitz,"",$_REQUEST['bestandsnaam'])))); |
In een notendop som ik alles op wat niet mag en haal dit er uit. Een betere methode lijkt het mij om met reguliere expressies juist aan te geven wat wél mag en de rest er uit te filteren. Gezien louter a-z, 1-9 en eventueel - voor de spaties is toegestaan lijkt mij dat makkelijker, beter en efficienter.
Het tweede probleem is dat ik bepaalde tekens zoals boven beschreven wil vervangen, dit lukt, maar dit zou tevens een gigantische lijst worden. Het lijkt me dat ook dit korter kan..
Ik heb me suf gezocht op Google, PHP.net en een aantal forums, maar kan niet vinden wat ik nodig heb. Eventueel zou ik met reguliere expressies bovenstaande kunnen verkorten, maar ik wil het juist omdraaien en tevens tekens vervangen.
[ Voor 35% gewijzigd door Verwijderd op 26-11-2006 04:08 ]