首頁  >  文章  >  後端開發  >  如何選擇性地從 PHP 字串中刪除控製字元而不刪除基本字元?

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

Barbara Streisand
Barbara Streisand原創
2024-10-27 03:49:03922瀏覽

 How to Selectively Remove Control Characters from PHP Strings Without Removing Essential Characters?

防止從PHP 字串中過多刪除字元

在PHP 中,從字串中刪除控製字元需要仔細考慮,以避免刪除有效字元。提供的正規表示式成功刪除了控製字符,但它也無意中刪除了其他必要字符。這就提出了一個問題:程式設計師如何選擇性地刪除控製字元而不損害字串的完整性?

為了解決這個問題,可以使用更精確的正規表示式:

<code class="php">preg_replace('/[\x00-\x1F\x7F]/', '', $input);</code>

這個表達式僅針對前32 個ASCII 字元和x7F,其中包含回車符,同時根據需要保留換行符和回車符(通常表示為r 和n)。

<code class="php">preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);</code>

或者,使用[:cntrl :] 字元類別簡化了表達式:

<code class="php">preg_replace('/[[:cntrl:]]/', '', $input);</code>

注意: Ereg_replace 在PHP 中已被棄用,應替換為preg_replace。

以上是如何選擇性地從 PHP 字串中刪除控製字元而不刪除基本字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn