Menghapuskan Aksara Kawalan daripada Rentetan PHP
Apabila bekerja dengan rentetan PHP, kadangkala perlu mengalih keluar aksara kawalan seperti STX. Semasa cuba menggunakan preg_replace, anda mungkin mendapati ia mengalih keluar aksara yang berlebihan di luar aksara kawalan. Fokus kami di sini adalah untuk menunjukkan kepada anda cara mengalih keluar aksara kawalan sahaja secara terpilih.
Untuk mencapai ini, anda boleh menggunakan kod berikut:
preg_replace('/[\x00-\x1F\x7F]/', '', $input);
Corak ini sepadan dan menggantikan aksara daripada julat daripada nilai heksadesimal x00 hingga x1F, serta nilai x7F. Julat ini merangkumi 32 aksara ASCII yang pertama serta aksara DEL.
Jika anda ingin mengekalkan aksara kawalan tertentu, seperti suapan baris dan pemulangan pengangkutan, anda boleh melaraskan corak dengan sewajarnya:
preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);
Dengan menggunakan corak ini, anda boleh mengalih keluar semua aksara kawalan kecuali suapan baris (n) dan carriage return (r).
Adalah penting untuk ambil perhatian bahawa ereg_replace ditamatkan dalam PHP >= 5.3. 0 dan dialih keluar dalam PHP >= 7.0.0. Untuk memastikan keserasian, gunakan preg_replace sebaliknya:
preg_replace('/[[:cntrl:]]/', '', $input);
Atas ialah kandungan terperinci Bagaimana untuk Mengalih keluar Aksara Kawalan secara Selektif daripada Rentetan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!