Dark Launch

PHP Remove all but allowed characters or disallowed chars

The following will remove all characters but those allowed using preg_replace().

$input = '"Shall I compare thee to a summer\'s day?"';
$output = preg_replace('/[^A-Za-z0-9]/', ' ', $input);
echo 'input:  ' . $input . "\n";
echo 'output: ' . $output . "\n";
input:  "Shall I compare thee to a summer's day?"
output:  Shall I compare thee to a summer s day

Another example which replaces the delimiter character with the at symbol.

$str = preg_replace('@[^a-zA-Z0-9_:;\(\)\?\|\&=!<>+*/\%-]@', '', $str);

Common alternate delimiters: #, @, !