删除非字母数字字符,但有一些例外

时间:2013-07-22 13:07:08

标签: php

我遇到过这个函数,它将完成我认为的第一部分

preg_replace("/[^A-Za-z0-9 ]/", '', $string);

但我不想删除' - ','+'或'|'。 我怎样才能为这些做出例外。

4 个答案:

答案 0 :(得分:4)

preg_replace("/[^A-Za-z0-9 +|-]/", '', $string);

答案 1 :(得分:2)

您也可以使用包含\w

的简短表单
preg_replace("/[^\w\+\|\-\s]/", '', $string);

答案 2 :(得分:0)

试试这个:

$string  = "abcdAbcd-0999345@dfsdf%+";
echo preg_replace("/[^A-Za-z0-9\+\-\| ]/", '', $string);

答案 3 :(得分:0)

使用 \ char

添加
preg_replace("/[^A-Za-z0-9 \-\+\|]/", '', $string);

演示:http://regexr.com?35lre