使用此代码,我可以从php中删除字符串中的所有特殊字符:
function noSpeCha($string) {
return preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $string);
}
但我也需要删除这些字符:
( ) % [ ]
我不知道如何继续。
答案 0 :(得分:3)
[^n]
is a regular expression pattern匹配方括号之间的字符不(在这种情况下,它匹配的字符不是n
)。
如果您想更改现有正则表达式以匹配%
,(
,)
,[
和]
,则需要将其删除来自[^...]
块(及其escape characters)。
preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $string);
^^^^^ ^^^^^
离开你
preg_replace('/[^a-zA-Z0-9_ \.&-]/s', '', $string);
整理了一些东西给了我们......
preg_replace('/[^a-z0-9_ .&-]/si', '', $string);
答案 1 :(得分:0)
从列表中删除例外,这只会允许字母,数字,下划线,短划线和空格:
function noSpeCha($string) {
return preg_replace('/[^a-zA-Z0-9_- ]/s', '', $string);
}