我需要删除字符串中除破折号、字母、数字、空格和下划线之外的所有字符。
关于 SO 的各种答案都非常接近( Replace all characters except letters, numbers, spaces and underscores 、 Remove all characters except letters, spaces and apostrophes 等),但通常不包括破折号。
帮助将不胜感激。
最佳答案
您可以执行以下操作:
$string = ';")<br>kk23how nowbrowncow_-asdjhajsdhasdk32423ASDASD*%$@#!^ASDASDSA4sadfasd_-?!';
$new_string = preg_replace('/[^ \w-]/', '', $string);
echo $new_string;
[^]
代表一个 list of characters NOT to match \w
是 short用于单词字符 [A-Za-z0-9_]
-
字面上匹配连字符 关于php - preg_replace 删除除破折号、字母、数字、空格和下划线以外的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43404980/