Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengesan sama ada rentetan mengandungi aksara Cina dalam php
Langkah pengesanan: 1. Gunakan preg_replace() dengan ungkapan biasa untuk menapis rentetan dan mengalih keluar huruf bukan Cina dalam rentetan ialah "preg_replace("/[^x{4E00}-x{9FFF} ] /u",'', rentetan asal)" akan mengembalikan rentetan penapis yang mengandungi semua huruf Cina 2. Gunakan "===" untuk menentukan sama ada rentetan penapis ialah rentetan kosong, sintaks "rentetan penapis ==" = ''", jika sama, rentetan asal tidak mengandungi aksara Cina, jika tidak, rentetan asal mengandungi aksara Cina.
Persekitaran pengendalian tutorial ini: sistem windows7, PHP versi 8.1, komputer DELL G3
Dalam php, anda boleh menggunakan fungsi preg_replace () dan operator "===" untuk mengesan sama ada rentetan mengandungi aksara Cina.
Langkah pelaksanaan:
Langkah 1: Gunakan fungsi preg_replace() dengan ungkapan biasa untuk menapis rentetan dan alih keluarnya Huruf bukan Cina dalam rentetan
fungsi preg_replace() boleh melakukan carian dan penggantian ungkapan biasa anda hanya perlu menggunakan ungkapan biasa untuk mencari huruf bukan Cina dalam rentetan dan menggantikannya dengan Hanya gunakan aksara kosong ''
.
Ungkapan biasa ialah:
/[^x{4E00}-x{9FFF}] /u
$pattern = "/[^\x{4E00}-\x{9FFF}]+/u"; $newStr=preg_replace($pattern,'', $str);
akan mengembalikan rentetan penapis yang mengandungi semua huruf Cina
Langkah 2: Gunakan operator "===" untuk menentukan sama ada rentetan penapis ialah rentetan kosong
$newStr===''
Jika sama, maka rentetan asal tidak mengandungi bahasa Cina
Jika tidak sama, rentetan asal mengandungi bahasa Cina
kod pelaksanaan : <.>
function f($str){ echo "原字符串:"; var_dump($str); $pattern = "/[^\x{4E00}-\x{9FFF}]+/u"; $newStr=preg_replace($pattern,'', $str); if($newStr===''){ echo "字符串中不包含中文Panggil fungsi f($str) di atas
"; }else{ echo "字符串中包含中文
"; } }
$str1= 'php中文网!-=1548'; f($str1); $str2 = "123456"; f($str2);
Arahan:
fungsi preg_replace()
fungsi preg_replace() boleh melakukan carian dan penggantian ungkapan biasa, dan merupakan fungsi pemprosesan penggantian rentetan yang berkuasa Format sintaks adalah seperti berikut:preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])Penerangan parameter adalah seperti berikut:
当使用被弃用的 e 修饰符时,这个函数会转义一些字符(即:'、"、\ 和 NULL)然后进行后向引用替换。当这些完成后请确保后向引用解析完后没有单引号或双引号引起的语法错误(比如:'strlen(\'$1\')+strlen("$2")')。确保符合 PHP 的字符串语法,并且符合 eval 语法。因为在完成替换后,引擎会将结果字符串作为 php 代码使用 eval 方式进行评估并将返回值作为最终参与替换的字符串。
恒等式(===)运算符
恒等式(===)运算符是进行给定变量或值之间的严格比较;它比较,并查看两个变量(表达式或常量)是否值相等且具有相同的数据类型,即两者都是字符串或两者都是整数等等。
如果两个变量(表达式或常量)包含相同的值和相同的数据类型,则此运算符返回true,否则返回false。
示例:
<?php header("content-type:text/html;charset=utf-8"); // 给变量赋整数值 $x = 999; echo '$x='.$x."<br>"; // 给变量赋字符串值 $y = '999'; echo '$y='.$y."<br>"; //比较$x 和$y if ($x === $y) echo '$x和$y相等'; else echo '$x和$y不相等'; ?>
输出:
说明:在上面的例子中,$ x和$ y的值相等但数据类型不同,因而返回false,执行else部分。
推荐学习:《PHP视频教程》
Atas ialah kandungan terperinci Bagaimana untuk mengesan sama ada rentetan mengandungi aksara Cina dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!