Wednesday, December 27, 2017

Belajar Pemrograman serentak di Scala

Advertiser-1

PHP FAQ: Bagaimana cara menghapus semua karakter non-printable dari string di PHP?
Advertiser-2>
Saya tidak tahu dari setiap fungsi PHP built-in untuk menghapus semua karakter non-printable dari string, sehingga solusinya adalah dengan menggunakan preg_replacefungsi dengan ekspresi reguler yang sesuai.

Solusi: Biarkan karakter ASCII hanya

Untuk tujuan saya, saya tidak harus bekerja dengan karakter Unicode, sehingga salah satu solusi terbaik untuk tujuan saya adalah untuk melucuti semua karakter non-ASCII dari string masukan. Itu bisa dilakukan dengan ini preg_replacekode:
$ Hasil = preg_replace ( '/ [\ x00- \ x1F \ x80- \ xff] /', '', $ string);
Kode yang menghilangkan karakter apapun dalam hex berkisar 0-31 dan 128-255, hanya menyisakan karakter hex 32-127 dalam string yang dihasilkan, yang saya sebut $resultdalam contoh ini.
Anda dapat melihat bagaimana ini bekerja di shell PHP interaktif. Dalam contoh ini saya hanya ingin menyingkirkan karakter 'dan', yang tidak bekerja dengan baik dalam aplikasi saya saat ini:
myprompt> -a php
shell interaktif

php> $ string = " 'Halo,' katanya.";
php> $ hasil = preg_replace ( '/ [\ x00- \ x1F \ x80- \ xff] /', '', $ string);
php> echo $ hasil;
Halo, katanya.
Seperti yang Anda lihat, karakter 'dan' tidak di $resulttali.
Catatan: Anda dapat membaca lebih lanjut tentang hex dan urutan karakter oktal pada halaman php.net ini .
Juga mencatat bahwa jika Anda lebih suka karakter oktal ke karakter heksadesimal, kode ini harus bekerja juga:
$ Hasil = preg_replace ( '/ [\ 000- \ 031 \ 200 \ 377] /', '', $ string);
Aku hanya diuji bahwa pada contoh saya dan itu bekerja dengan baik, tapi saya belum diuji dengan string lainnya. ( Halaman ini adalah sumber yang baik untuk oktal dan hex dasar nilai-nilai.)

Solusi: Gunakan 'print' regex

Solusi lain yang mungkin adalah dengan menggunakan 'print' ekspresi reguler ditampilkan dalam contoh ini dengan preg_replace:
$ Hasil = preg_replace ( '/ [[: ^ cetak:]] /', "", $ string);
Per doc PHP regex , yang [:print:]regex singkatan dari “setiap karakter yang dapat dicetak,” jadi misalnya saya pikir itu akan meninggalkan 'dan' karakter dalam string yang dihasilkan, tapi saya terkejut output terlihat seperti ini:
php> $ string = " 'Halo,' katanya."; 
php> $ hasil = preg_replace ( '/ [[: ^ cetak:]] /', "", $ string); 
php> echo $ hasil; 
?Halo,? dia berkata.
Aku tidak tahu mengapa itu regex berakhir menempatkan ?karakter dalam string yang dihasilkan, sehingga pada saat saya menelepon ini “solusi yang mungkin” daripada solusi. Perhatikan bahwa jika Anda hanya echokeluar string asli, mencetak baik:
php> echo $ string; 
'Halo,' katanya.

Lebih solusi (Unicode)

Seperti yang saya sebutkan, saya tidak memiliki menyibukkan diri dengan karakter Unicode, sehingga solusi karakter ASCII asli saya menunjukkan karya-karya baik bagi saya. Jika Anda perlu untuk menangani karakter Unicode, halaman SO ini menunjukkan solusi yang mungkin.

Lebih PHP ekspresi reguler

Akhirnya, sementara aku di lingkungan, di sini adalah daftar PHP “range” ekspresi reguler dari halaman php.net regex . Sebagai “range” nama menyiratkan, pola-pola ini dapat digunakan untuk mencocokkan rentangkarakter dalam string PHP:
[: Digit:] Hanya angka 0 sampai 9
[: Alnum:] Setiap karakter alfanumerik 0-9 OR A sampai Z atau untuk z.
[: Alpha:] Setiap karakter alpha A sampai Z atau untuk z.
[: Kosong:] Ruang dan karakter TAB saja.
[: Xdigit:].
[: Punct:] Tanda baca simbol. , " ';?!:
[: Cetak:] Setiap karakter yang dapat dicetak.
[: Space:] Setiap karakter ruang.
[: Grafik:].
[: Upper:] Setiap karakter alpha A sampai Z.
[: Rendah:] Setiap karakter alpha untuk z.
[: Cntrl:].
Seperti ditunjukkan dalam contoh saya sebelumnya, Anda benar-benar perlu menggunakan dua tanda kurung dengan pola-pola regex ketika menggunakan preg_replace:
$ Hasil = preg_replace ( '/ [[: ^ cetak:]] /', "", $ string);

Ringkasan

Singkatnya, jika Anda ingin melihat cara menghapus karakter non-printable dari string di PHP, saya berharap contoh ini sangat membantu


EmoticonEmoticon

:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:P
:o
:>)
(o)
:p
:-?
(p)
:-s
(m)
8-)
:-t
:-b
b-(
:-#
=p~
$-)
(y)
(f)
x-)
(k)
(h)
cheer