」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何選擇性地從 PHP 字串中刪除控製字元?

如何選擇性地從 PHP 字串中刪除控製字元?

發佈於2024-11-03
瀏覽:957

How to Selectively Remove Control Characters from PHP Strings?

從 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);
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3