我正在从我的字符串中删除特殊字符,但是当我尝试运行代码时,它会删除最后一个数字,例如从hello113到hello11 等。然后我发现这些数字在alt 代码中用于特殊字符。这就是我想要做的$var = "hello113 guys115 this is for test&ing101!";preg_match_all('/([a-zA-Z])+\w{2}/i', preg_replace('/[^A-Za-z0-9\-\']/', '', $var), $var_data);echo strtolower(implode(" ", $var_data[0]));然后结果是这样的hello11 guys11 this for test ing10我期待这样的结果:hello113 guys115 this is for testing101
1 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
只需删除所有非空格和非单词字符。
$var = "hello113 guys115 this is for test&ing101!"; echo preg_replace('/[^\w\s]|_/', '', $var);
结果:
你好 113 伙计们 115 这是为了测试 101
这|_
是因为\w
允许下划线。
u
如果还允许使用 unicode 字字符,则可以在结束定界符之后添加修饰符。
preg_replace('/[^\w\s]|_/u', '', $var)
- 1 回答
- 0 关注
- 104 浏览
添加回答
举报
0/150
提交
取消