I'm implementing a simple search on a website, and right now I'm working on sanitizing the input. My plan is to make a whitelist of allowed characters. I'm using PHP, and so far I've got the current regex:

```
preg_replace('/[^a-z0-9 -]/i', '', $s);

```

So, I'm removing anything that's not alphanumeric or a space or a hyphen.

Is there a generally accepted whitelist for this sort of thing, or does it just depend on the application? I'm going to be searching on book titles, author names and book blurbs.