0
我一直想知道爲什麼我不能替換一個未知的空白字符,直到一個小時前我決定通過它循環使用php ord函數,我發現它實際上是字符ASCII數字13.我嘗試了以下內容刪除,但沒有奏效:如何刪除ASCII碼13?
preg_replace('/\x13/','',$string)
任何幫助嗎?
我一直想知道爲什麼我不能替換一個未知的空白字符,直到一個小時前我決定通過它循環使用php ord函數,我發現它實際上是字符ASCII數字13.我嘗試了以下內容刪除,但沒有奏效:如何刪除ASCII碼13?
preg_replace('/\x13/','',$string)
任何幫助嗎?
十六進制13是十進制的19,這是ASCII控制字符DC3
,這是不正確的空白。
您可能是指十進制13,這是一個回車。在十六進制中,這是D,所以你應該使用\x0D
。
或者使用'/ \ r?\ n /' - '\ r'來處理'\ x0D'和'\ n'的回車符,它們處理'\ x0A'的換行字符。這對於使用'\ r \ n'作爲行分隔符的對比窗口很常見。* nix系統只是使用'\ n' –
另一種可能對您有用的替代方法,因爲您將它描述爲「unknown whitespace char」。 。如果你想擺脫所有不是空格的空格字符'/(?!)\ s/s',那麼你需要使用's'修飾符 –
我還在掙扎。這兩種解決方案都不起作用。不是preg_replace('/ \ x0D /','',$ string)not preg_replace('/ \ x19 /','',$ string) – agahi