2011-11-21 47 views

回答

18

您可以通过将一个反斜杠之前逃脱foreslash - $targetFile = preg_replace('/[^A-Za-z0-9-.\/]/', '', $targetFileDirty);

或者,也许更好,你可以使用不同的分隔符来代替,如$targetFile = preg_replace('#[^A-Za-z0-9-./]#', '', $targetFileDirty);

+4

只是一个问题,你为什么需要“ - ” 9号之后,表示一个周期? – Jeune

+0

其表示 - 允许和a。在 – DarkMukke

2

只需添加一个逃脱斜线:[^A-Za-z0-9-.\\/]

+0

之上,你还没有逃过你的例子中的斜线...... – HorusKol

+0

Eeek!我发布后没有看到我的回答。对不起,谢谢! – Christopher

7

要兼容Unicode,您可以使用:

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