/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
filnavn med øæå og andre tegn
Fra : ScooterGrisen


Dato : 08-01-09 13:49

jeg har en fil uploader.
for at undgå diverse problemer med at visefilnavne med tegn som øæå
mellemrum - éë£ osv osv så kunne jeg godt tænke mig kun at tillade
bogtaverne a-z og tallene 0-9 i filnavn.

Hvordan laver jeg filnavnet "Flæskesteg med sovs" om til
"flaskestegmedsovs" ?

jeg ved godt at man kan erstatte hvert tegn med et andet tegn men
efter som der findes mange forskellige tegn vil jeg helle bestemme at
det kun skal være a-z og 0-9 som er tilladt.

 
 
Christian Hansen (09-01-2009)
Kommentar
Fra : Christian Hansen


Dato : 09-01-09 01:02

ScooterGrisen wrote:
> Hvordan laver jeg filnavnet "Flæskesteg med sovs" om til
> "flaskestegmedsovs" ?
>
> jeg ved godt at man kan erstatte hvert tegn med et andet tegn men
> efter som der findes mange forskellige tegn vil jeg helle bestemme at
> det kun skal være a-z og 0-9 som er tilladt.

Hvis du kun vil tillade a-z og 0-9 og ikke konvertere de enkelte tegn
vil ovenstående blive til flskestegmedsovs og altså ikke flaskestegmedsovs.

Hvis du ønsker, at det skal blive til flaskestegmedsovs, må du
nødvendigvis erstatte dine å-er med a-er osv.

Du kunne eventuelt lave en positivliste af tegn, som du erstatter og så
lave erstatningen først. Derefter kunne du så fjerne alle tegn, der ikke
er [a-z0-9], for at fjerne de tegn, du ikke manuelt erstatter.

Mvh Christian

--
Christian Hansen
http://www.resource-it.dk/

ScooterGrisen (09-01-2009)
Kommentar
Fra : ScooterGrisen


Dato : 09-01-09 07:17

Og hvordan gør jeg så det ?
Kan du give et kode eksempel hvis vi siger:

$filnavn = "Flæskesteg med 12 liter sovs";

Mikkel Jakobsen (09-01-2009)
Kommentar
Fra : Mikkel Jakobsen


Dato : 09-01-09 18:39


> Og hvordan gør jeg så det ?
> Kan du give et kode eksempel hvis vi siger:
>
> $filnavn = "Flæskesteg med 12 liter sovs";

Prøv med:
$new_filnavn = str_ireplace('æ', 'ae', $filnavn);

Dette skal dog gøres med både æ,ø,å og mellemrum

Mikkel

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

N/A (09-01-2009)
Kommentar
Fra : N/A


Dato : 09-01-09 20:13



ScooterGrisen (09-01-2009)
Kommentar
Fra : ScooterGrisen


Dato : 09-01-09 11:09

Findes der ikke en måde så jeg kan alle de tegn som ikke er a-z og 0-9
om til f.eks _

Dan Storm (09-01-2009)
Kommentar
Fra : Dan Storm


Dato : 09-01-09 20:13

ScooterGrisen skrev:
> Findes der ikke en måde så jeg kan alle de tegn som ikke er a-z og 0-9
> om til f.eks _

Du kunne eventuelt selv lave en funktion der opfylder dit behov?

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Philip Nunnegaard (09-01-2009)
Kommentar
Fra : Philip Nunnegaard


Dato : 09-01-09 20:38

"Dan Storm" <shadyz_REMOVETHIS_@err0r.dk> skrev

>> Findes der ikke en måde så jeg kan alle de tegn som ikke er a-z og 0-9
>> om til f.eks _
>
> Du kunne eventuelt selv lave en funktion der opfylder dit behov?

Jeg bruger selv replace-metoden, men som jeg forstår ScooterGrisen, er det
netop det med at skulle lave flere hundrede replace-sætninger, han gerne vil
undgå (én sætning for hvert eneste ikke-websikre tegn - inklusive de tegn
som vi måske ikke lige kan forudse at nogle kan finde på at bruge nu og i
fremtiden).

Jeg har en idé om at det kan klares med noget regulære udtryk, men her er
jeg selv på Herrens Mark.



Carsten (09-01-2009)
Kommentar
Fra : Carsten


Dato : 09-01-09 21:33

"Philip Nunnegaard" <nunnenospam@hitsurf.dk> skrev i en meddelelse
news:4967a7b0$0$56767

> Jeg har en idé om at det kan klares med noget regulære udtryk, men her er
> jeg selv på Herrens Mark.

<html>
<body>

<?php

$dkfilnavn = "Filnavn som flæskesteg og rødgrød med fløde";
echo "<p>DK filnavn: " . $dkfilnavn;
$eufilnavn = ereg_replace("[^a-zA-Z0-9]","_",$dkfilnavn);
echo "<p>EU filnavn: " . $eufilnavn;

?>

</body>
</html>

Output:
DK filnavn: Filnavn som flæskesteg og rødgrød med fløde

EU filnavn: Filnavn_som_fl_skesteg_og_r_dgr_d_med_fl_de

Hvis man ikke ønsker mellemrummene lavet om så skal der bare et mellemrum
ind i [^a-zA-Z0-9 ]

Carsten



N/A (09-01-2009)
Kommentar
Fra : N/A


Dato : 09-01-09 20:13



Søg
Reklame
Statistik
Spørgsmål : 177458
Tips : 31962
Nyheder : 719565
Indlæg : 6408169
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste