我正在尝试清理一个字符串。
我只需要允许
_-+*()[]!#?.,;:'"<>
其他一切都需要再见。我该怎么做?我有这个,适用于大写/小写字母,数字和空格。但我不知道如何考虑标签,回车或如何做特殊字符?
$str = preg_replace('/[^a-z0-9 ]/i', '', $str);
答案 0 :(得分:3)
尝试
$str = preg_replace('/[^\w\r\n\t+*()[\]!#?.\,;:\'"<> -]/', '', $str);
答案 1 :(得分:2)
\ s - 空格字符(包括制表符和换行符)
\ r-回车
使用“\”字符表示特殊的symobls。
答案 2 :(得分:1)
$str = 'sample|';
$result = !(bool)strlen(preg_replace('/^[a-z0-9A-Z\r\s:_-+*()[]!#?.,;:\>\<]*/', '', $str))