几年后,我才刚开始用其他语言编写PHP,然后通读了一些较旧的脚本,发现这个正则表达式使我似乎不记得自己写了,而且似乎找不到回答它的作用。
上下文正在清理一些用户输入。它与UTF8或拉丁字符范围有关吗?
$keyword = preg_replace('/[^ -~]/iu', '\\S{0,1}', $keyword);
答案 0 :(得分:1)
是的。正则表达式将替换不在空格和波浪号之间的字符...空格之前的字符是控制字符,而波浪号之后的字符不是7位ASCII。 (空格是字符号32和波浪号126。)