使用 PHP 删除除 alt 代码之外的特殊字符

我正在从我的字符串中删除特殊字符,但是当我尝试运行代码时,它会删除最后一个数字,例如从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


动漫人物
浏览 105回答 1
1回答

MMMHUHU

只需删除所有非空格和非单词字符。$var = "hello113 guys115 this is for test&ing101!"; echo preg_replace('/[^\w\s]|_/', '', $var);结果:你好 113 伙计们 115 这是为了测试 101https://3v4l.org/jeebk这|_是因为\w允许下划线。u如果还允许使用 unicode 字字符,则可以在结束定界符之后添加修饰符。preg_replace('/[^\w\s]|_/u', '', $var)
打开App,查看更多内容
随时随地看视频慕课网APP