preg_replace tudo, exceto números, letras, períodos e barra?

Tenho uma expressão regular que tira tudo menos letras. números e períodos. Como eu também adiciono barreiras para isso?

$targetFile = preg_replace('/[^A-Za-z0-9-.]/', '', $targetFileDirty); 

Você pode escaping do foreslash colocando uma barra invertida antes dele – $targetFile = preg_replace('/[^A-Za-z0-9-.\/]/', '', $targetFileDirty);

Alternativamente, e talvez melhor, você pode usar delimitadores diferentes, em vez disso, por exemplo, $targetFile = preg_replace('#[^A-Za-z0-9-./]#', '', $targetFileDirty);

Para ser compatível com unicode você pode usar:

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

Basta adicionar uma barra [^A-Za-z0-9-.\\/] : [^A-Za-z0-9-.\\/]