Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengalih Keluar Aksara Tidak Boleh Cetak daripada Rentetan dalam PHP?

Bagaimanakah Saya Boleh Mengalih Keluar Aksara Tidak Boleh Cetak daripada Rentetan dalam PHP?

Patricia Arquette
Lepaskan: 2024-12-10 17:07:10
asal
722 orang telah melayarinya

How Can I Remove Non-Printable Characters from a String in PHP?

Menghapuskan Aksara Tidak Boleh Cetak daripada Rentetan

Dalam beberapa keadaan, anda mungkin menghadapi keperluan untuk mengalih keluar aksara yang tidak boleh dicetak daripada rentetan, seperti dalam julat 0-31 dan 127 semasa manipulasi rentetan atau data pembersihan.

7-bit ASCII

Untuk mengalih keluar aksara tidak boleh cetak dalam julat ASCII 7-bit (0-31, 127-255), gunakan ungkapan biasa berikut menggunakan preg_replace:

$string = preg_replace('/[x00-x1Fx7F-xFF]/', '', $string);

Ini akan mengalih keluar semua aksara dalam julat yang ditentukan dengan berkesan.

Untuk mengendalikan 8-bit ASCII lanjutan, menghapuskan aksara hanya dalam julat 0-31 dan 127, gunakan ungkapan biasa yang dilaraskan:

$string = preg_replace('/[x00-x1Fx7F]/', '', $string);

UTF-8

Untuk rentetan yang dikodkan UTF-8, memasukkan pengubah suai /u dalam ungkapan biasa adalah disyorkan:

$string = preg_replace('/[x00-x1Fx7F]/u', '', $string);

Ini memastikan penyingkiran tepat aksara kawalan tertentu seperti NO-BREAK SPACE (U 00A0) dengan menambahkan xA0 pada kelas aksara.

Semasa preg_replace adalah cekap, pertimbangkan str_replace sebagai alternatif, terutamanya untuk operasi berulang.

// Cipta tatasusunan aksara tidak boleh dicetak
$badchars = array(

chr(0), chr(1), chr(2), ..., chr(31),
chr(127)
Salin selepas log masuk

);

// Gantikan aksara yang tidak diingini menggunakan str_replace
$str2 = str_replace($badchars, '', $str);

Adalah penting untuk menanda aras prestasi kedua-dua pendekatan menggunakan data anda sendiri untuk menentukan penyelesaian optimum bagi kes khusus anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Aksara Tidak Boleh Cetak daripada Rentetan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan