我有一个正则表达式,除了字母以外的所有东西。数字和句点。我怎样才能为它添加前景?preg_replace除了数字,字母,句点和斜线之外的所有字母吗?
$targetFile = preg_replace('/[^A-Za-z0-9-.]/', '', $targetFileDirty);
我有一个正则表达式,除了字母以外的所有东西。数字和句点。我怎样才能为它添加前景?preg_replace除了数字,字母,句点和斜线之外的所有字母吗?
$targetFile = preg_replace('/[^A-Za-z0-9-.]/', '', $targetFileDirty);
您可以通过将一个反斜杠之前逃脱foreslash - $targetFile = preg_replace('/[^A-Za-z0-9-.\/]/', '', $targetFileDirty);
或者,也许更好,你可以使用不同的分隔符来代替,如$targetFile = preg_replace('#[^A-Za-z0-9-./]#', '', $targetFileDirty);
只需添加一个逃脱斜线:[^A-Za-z0-9-.\\/]
之上,你还没有逃过你的例子中的斜线...... – HorusKol
Eeek!我发布后没有看到我的回答。对不起,谢谢! – Christopher
要兼容Unicode,您可以使用:
$targetFile = preg_replace('#[^\pL\pN./-]+#', '', $targetFileDirty);
只是一个问题,你为什么需要“ - ” 9号之后,表示一个周期? – Jeune
其表示 - 允许和a。在 – DarkMukke