使用preg_replace清理查询但允许一些特殊字符

时间:2010-11-03 18:06:17

标签: php regex

我正在使用以下正则表达式清理查询。但是,我需要在查询中允许一些特殊字符。

特别是我需要允许:Ä, ä, Ö, ö, Ü, ü, ß

为实现这一目标,我需要做些什么改变?

$query = preg_replace('/[^-a-zA-Z0-9_\/]/', '', $_GET['destination']);

2 个答案:

答案 0 :(得分:4)

/[^\w-\p{L}\p{N}\p{Pd}]/

这将匹配任何非字母数字字符(包括UTF-8字母)以及短划线( - )。

答案 1 :(得分:2)

您的问题实际上是关于如何在preg表达式中支持多字节字符,请参阅: