Dalam php, anda boleh menggunakan ungkapan biasa "/[x{4e00}-x{9fff}]+/u" dan fungsi preg_match_all() untuk memadankan hanya aksara Cina, sintaks "preg_match_all(" /[x {4e00}-x{9fff}". Fungsi preg_match_all() akan mencari semua hasil dalam rentetan yang boleh sepadan dengan ungkapan biasa. Ia boleh menapis aksara dengan "/[x{4e00}-x{9fff} ]+/u" String, hanya dapatkan aksara Cina
Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP8, komputer DELL G3
dalam php. , anda boleh menggunakan ungkapan biasa "/[x{4e00}-x{9fff}]+/u
" dan fungsi preg_match_all() untuk memadankan aksara Cina sahaja
Fungsi preg_match_all() akan mencari semua hasil carian dalam rentetan yang boleh sepadan dengan ungkapan biasa
preg_match_all(pattern,subject,matches,flags,offset)
Salin selepas log masuk
subjek: rentetan yang akan dicari ;
padanan: parameter pilihan (tatasusunan berbilang dimensi), digunakan untuk menyimpan semua hasil yang sepadan, isihan tatasusunan ditentukan melalui $flags; : parameter pilihan, boleh digabungkan dengan teg berikut Gunakan (perhatikan bahawa PREG_PATTERN_ORDER dan PREG_SET_ORDER tidak boleh digunakan pada masa yang sama):
- PREG_PATTERN_ORDER: keputusan diisih sebagai $matches[0] memegang semua padanan corak penuh, $matches[1] memegang semua perlawanan subkumpulan pertama, hingga Dan seterusnya
- PREG_SET_ORDER: Keputusan diisih sebagai $matches[0] mengandungi semua padanan (termasuk subkumpulan) dari perlawanan pertama. , $matches[1] mengandungi semua padanan daripada perlawanan kedua (
- PREG_OFFSET_CAPTURE: Jika bendera ini diluluskan, setiap perlawanan yang ditemui akan dikembalikan dengan offsetnya berbanding rentetan sasaran. Ambil perhatian bahawa ini akan mengubah $matches . Setiap elemen rentetan hasil yang sepadan dalam , supaya elemen ke-0 ialah rentetan hasil yang sepadan, dan elemen pertama ialah offset rentetan hasil yang sepadan dalam subjek
offset: parameter pilihan, $offset digunakan untuk mula mencari daripada kedudukan yang ditentukan dalam rentetan sasaran (unit ialah bait). fungsi preg_match_all() boleh digunakan dengan ungkapan biasa "- " untuk menapis rentetan dan hanya mendapatkan aksara Cina.
Nota: Fungsi - preg_match_all() akan menyimpan aksara fungsi yang sepadan satu demi satu dalam tatasusunan (tatasusunan ditentukan oleh parameter ketiga).
Pada masa ini, anda boleh menggunakan fungsi implode() untuk menyambung nilai hasil menjadi rentetan. /[x{4e00}-x{9fff}]+/u
Pengetahuan lanjutan: fungsi implode()
<?php
header("Content-type:text/html;charset=utf-8");
$str = "欢迎4546来到php这里。zblog,我的?#$%^天呀&())*(&^";
echo $str;
preg_match_all("/[\x{4e00}-\x{9fff}]+/u","$str",$arr);
var_dump($arr);
?>
Salin selepas log masuk
fungsi implode() mengembalikan aksara yang terdiri daripada rentetan elemen tatasusunan.
pemisah: Pilihan. Menentukan apa yang diletakkan di antara elemen tatasusunan. Lalai ialah "" (rentetan kosong).
implode('',$arr[0])
Salin selepas log masuk
tatasusunan: diperlukan. Tatasusunan untuk digabungkan menjadi rentetan.
Nilai pulangan: Mengembalikan rentetan yang terdiri daripada elemen tatasusunan.
Terdapat juga fungsi yang mempunyai fungsi yang sama dengan fungsi implode(): join() Fungsi join() ialah alias bagi fungsi implode().
implode(separator,array)
Salin selepas log masuk
Pembelajaran yang disyorkan: "- Tutorial Video PHP
"
Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa dalam php untuk memadankan aksara Cina sahaja. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!