從 PHP 字串中刪除控製字元
使用 PHP 字串時,有時需要刪除 STX 等控製字元。在嘗試使用 preg_replace 時,您可能會發現它刪除了超出控製字元的過多字元。我們在這裡的重點是向您展示如何選擇性地僅刪除控製字元。
要實現此目的,您可以使用以下程式碼:
preg_replace('/[\x00-\x1F\x7F]/', '', $input);
此模式匹配並取代範圍內的字元十六進位值 x00 到 x1F,以及值 x7F。此範圍包含前 32 個 ASCII 字元以及 DEL 字元。
如果您想保留某些控製字符,例如換行符和回車符,您可以相應地調整模式:
preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);
透過使用此模式,您可以刪除除換行符(n) 和回車符(r) 之外的所有控製字元。
需要注意的是,ereg_replace 在 PHP >= 5.3 中已棄用。 0 並在 PHP >= 7.0.0 中刪除。為了確保相容性,請使用 preg_replace 代替:
preg_replace('/[[:cntrl:]]/', '', $input);
以上是如何選擇性地從 PHP 字串中刪除控製字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!