我正在從我的字符串中刪除特殊字符,但是當我嘗試運行代碼時,它會刪除最后一個數字,例如從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 關注
- 129 瀏覽
添加回答
舉報
0/150
提交
取消