Mencegah Pembuangan Berlebihan Aksara daripada Rentetan PHP
Dalam PHP, mengalih keluar aksara kawalan daripada rentetan memerlukan pertimbangan yang teliti untuk mengelak daripada mengalih keluar aksara yang sah. Ungkapan biasa yang disediakan berjaya mengalih keluar aksara kawalan, tetapi ia juga secara tidak sengaja menghapuskan aksara penting lain. Ini menimbulkan persoalan: bagaimana pengaturcara boleh secara selektif mengalih keluar aksara kawalan tanpa menjejaskan integriti rentetan?
Untuk menangani isu ini, ungkapan biasa yang lebih tepat boleh digunakan:
<code class="php">preg_replace('/[\x00-\x1F\x7F]/', '', $input);</code>
Ini ungkapan menyasarkan hanya 32 aksara ASCII dan x7F yang pertama, yang merangkumi pengembalian pengangkutan, sambil mengekalkan suapan baris dan pengembalian pengangkutan (selalunya dilambangkan sebagai r dan n) jika dikehendaki.
<code class="php">preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);</code>
Sebagai alternatif, menggunakan [:cntrl :] kelas aksara memudahkan ungkapan:
<code class="php">preg_replace('/[[:cntrl:]]/', '', $input);</code>
Nota: Ereg_replace telah ditamatkan dalam PHP dan harus digantikan dengan preg_replace.
Atas ialah kandungan terperinci Bagaimana untuk Mengalih Keluar Aksara Kawalan Secara Selektif daripada Rentetan PHP Tanpa Mengalih Keluar Aksara Penting?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!