从字符串中删除 "very" 个特殊字符
Delete "very" special characters from string
如何从字符串中删除 "very" 个特殊字符?
心、星、牛、版权等字符
我发现了这个:
$re = "/\p{S}/i";
$str = "asdas�sadsad";
$subst = "";
$result = preg_replace($re, $subst, $str);
但它删除了太多(例如“+”字符)。
您可以使用 POSIX
字符 class print
(ASCII 墨水用户加宽空格),即:
$str = "asdas�sadsad";
$str = preg_replace('/[^[:print:]]/', '', $str);
echo $str;
输出:
asdassadsad
正则表达式解释:
[^[:print:]]
- 匹配任何不在
POSIX
字符 class print
«[^[:print:]]»
中的字符
根据您的评论更新:
$str = "asdas�sadsad";
$str = preg_replace('/[^`1234567890qwertyuiop\[\]asdfghjkl;\'zxcvbnm,\.-~!@%\^&\*\(\)_\+\{\}:\|<>\?ąęćżźółńQWERTYUIOPASDFGHJKLZXCVBNMĄĘĆŻŹÓŁŃ]/i', '', $str);
echo $str;
替换列表中不的所有字符。
如何从字符串中删除 "very" 个特殊字符?
心、星、牛、版权等字符
我发现了这个:
$re = "/\p{S}/i";
$str = "asdas�sadsad";
$subst = "";
$result = preg_replace($re, $subst, $str);
但它删除了太多(例如“+”字符)。
您可以使用 POSIX
字符 class print
(ASCII 墨水用户加宽空格),即:
$str = "asdas�sadsad";
$str = preg_replace('/[^[:print:]]/', '', $str);
echo $str;
输出:
asdassadsad
正则表达式解释:
[^[:print:]]
- 匹配任何不在
POSIX
字符 classprint
«[^[:print:]]»
中的字符
根据您的评论更新:
$str = "asdas�sadsad";
$str = preg_replace('/[^`1234567890qwertyuiop\[\]asdfghjkl;\'zxcvbnm,\.-~!@%\^&\*\(\)_\+\{\}:\|<>\?ąęćżźółńQWERTYUIOPASDFGHJKLZXCVBNMĄĘĆŻŹÓŁŃ]/i', '', $str);
echo $str;
替换列表中不的所有字符。