2011-11-21 35 views

Respuesta

18

Puede escapar de la foreslash poniendo una barra invertida antes de que - $targetFile = preg_replace('/[^A-Za-z0-9-.\/]/', '', $targetFileDirty);

Por otra parte, y tal vez mejor, se pueden utilizar diferentes delimitadores lugar, por ejemplo, $targetFile = preg_replace('#[^A-Za-z0-9-./]#', '', $targetFileDirty);

+4

Sólo una pregunta, ¿por qué necesita el "-" después del número 9 para indicar un período ? – Jeune

+0

indica que está permitido y a. Además de eso, – DarkMukke

2

sólo tiene que añadir una barra escapado: [^A-Za-z0-9-.\\/]

+0

no ha escapado de la barra en su ejemplo ... – HorusKol

+0

Eeek! No miré mi respuesta después de publicar. Lo siento, y gracias! – Christopher

7

Para ser compatible con Unicode puede utilizar:

$targetFile = preg_replace('#[^\pL\pN./-]+#', '', $targetFileDirty); 
Cuestiones relacionadas