Dua kaedah: 1. Gunakan preg_replace() untuk melakukan carian dan penggantian ungkapan biasa Anda hanya perlu menggantikan aksara yang sepadan dalam rentetan dengan aksara kosong Sintaks "preg_replace(regular, " ", $str )". 2. Gunakan preg_match_all() untuk mencari semua hasil yang sepadan dengan ungkapan biasa dalam rentetan Setiap hasil yang sepadan akan diletakkan dalam tatasusunan $array Sintaks ialah "preg_match_all(regular, $str, $array);"
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
Apakah itu ungkapan biasa Formula
ialah formula logik untuk operasi rentetan Ia menggunakan beberapa aksara dan gabungan aksara khusus yang telah ditetapkan untuk membentuk "rentetan biasa", "peraturan". string" digunakan untuk menyatakan logik penapisan untuk rentetan.
Ekspresi biasa membina corak dengan peraturan tertentu, membandingkannya dengan maklumat rentetan input dan menggunakannya dalam fungsi tertentu untuk mencapai operasi seperti padanan rentetan, carian, penggantian dan pembahagian.
php menggunakan ungkapan biasa untuk menapis rentetan
Dalam php, anda boleh menggunakan ungkapan biasa untuk menapis rentetan, mengecualikan (memadam) atau mengekstrak yang ditentukan watak.
Kaedah 1. Gunakan fungsi preg_replace()
Fungsi preg_replace() boleh melakukan carian dan penggantian ungkapan biasa dan merupakan fungsi pemprosesan penggantian rentetan yang berkuasa.
preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
bermaksud mencari bahagian subjek yang sepadan dengan corak dan menggantikannya dengan penggantian had parameter pilihan digunakan untuk menetapkan bilangan penggantian maksimum (default nilai ialah -1, tidak terhad ).
Contoh:
<?php header('content-type:text/html;charset=utf-8'); $str ='0我是123456一段测试的字789符串0'; echo "原字符串:".$str."<br>"; $result = preg_replace("/[^0-9]/", "", $str); echo "过滤后字符串:".$result; ?>
preg_replace("/[^0-9]/", "", $str)
bermaksud memadankan aksara selain nombor antara 0~9
dan menggantikan aksara ini dengan aksara Kosong (iaitu padam aksara ini), maka hanya aksara angka yang tinggal:
Kaedah 2: Gunakan fungsi preg_match_all()
Thepreg_match_all() fungsi boleh mencari semua hasil dalam rentetan yang boleh memadankan ungkapan biasa Ia adalah fungsi yang melaksanakan padanan ungkapan biasa global. ungkapan
preg_match_all($pattern, $subject [, &$matches [, $flags = PREG_PATTERN_ORDER [, $offset = 0 ]]])
beberapa kali dalam rentetan $str, dan bandingkan hasil yang sepadan setiap kali Letakkannya dalam tatasusunan
. Mari kita gunakan<?php header('content-type:text/html;charset=utf-8'); $str ='0我是123456一段测试的字789符串0'; echo "原字符串:".$str."<br><br>"; $result = ''; preg_match_all('/\d+/',$str,$array); echo "过滤结果:"; var_dump($array); foreach($array as $arr){ foreach($arr as $value){ $result .= $value; } } echo "过滤后字符串:".$result; ?>
preg_match_all('/d+/',$str,$array)
0~9
$array
var_dump($array)
Anda akan mendapati tatasusunan hasil
$array
foreach($array as $arr){ foreach($arr as $value){ $result .= $value; } } echo "过滤后字符串:".$result;
》
Atas ialah kandungan terperinci Cara menggunakan peraturan biasa untuk mengecualikan aksara dalam rentetan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!