1

我正在寻找一种方法来 preg_replace() 除了“-”之外的每个字符

preg_replace ('#[^.0-9a-z]+#i', '', $string);

我显然想替换除 a-Z0-9 和“-”之外的所有坏字符

结果完成:

$string = preg_replace ('#[^.0-9a-z]/[^-]/+#i', '', $string);

4

2 回答 2

1
preg_replace('/[^-]/', '', $string);

将替换除-.

[]表示项目的集合,^是非运算符。因此,当您输入时,[^-]您是在说“给我所有不在这个集合中的东西,在这种情况下是-.

于 2013-10-29T23:57:07.760 回答
0

只需在字符类中添加破折号:

preg_replace ('#[^.0-9a-z-]+#i', '', $string);
//               here ___^
于 2013-10-30T10:22:01.407 回答