Dengan pembangunan aplikasi web moden, ungkapan biasa telah menjadi kemahiran yang sering digunakan oleh pembangun PHP. Ia boleh membantu kami menapis, memadankan dan menggantikan rentetan, menjadikan kod kami lebih cekap dan ringkas. Walau bagaimanapun, menggunakan ungkapan biasa dengan betul bukanlah satu tugas yang mudah, jadi artikel ini akan menunjukkan kepada anda amalan terbaik untuk menggunakan ungkapan biasa dalam PHP.
preg_match() ialah salah satu fungsi standard dalam PHP yang menggunakan ungkapan biasa untuk memadankan rentetan sasaran Cari dan padankan corak dalam . Dalam padanan literal, preg_match() sangat mudah, tetapi dalam corak yang lebih kompleks, menangkap kumpulan sangat berguna. Menangkap kumpulan ialah kurungan yang disertakan dalam ungkapan biasa yang membolehkan anda menandakan bahagian yang anda minati dan mengembalikannya jika perlawanan berjaya. Contohnya:
$string = '1234-5678-9012-3456'; preg_match('/^(d{4})-(d{4})-(d{4})-(d{4})$/', $string, $matches); print_r($matches);
Hasil output ialah:
Array ( [0] => 1234-5678-9012-3456 [1] => 1234 [2] => 5678 [3] => 9012 [4] => 3456 )
Walaupun ungkapan biasa diperlukan Ungkapan sangat biasa dalam PHP, tetapi lebih baik menggunakan fungsi terbina dalam PHP dan bukannya preg_match(). Ini kerana fungsi terbina dalam PHP dioptimumkan dan biasanya lebih pantas daripada menggunakan fungsi standard seperti preg_match() atau preg_replace(). Sebagai contoh, fungsi substr() PHP adalah lebih pantas daripada preg_replace().
Kelas aksara ialah sintaks khas dalam ungkapan biasa yang sangat berguna apabila mencipta ungkapan biasa. Kelas aksara membolehkan kami menentukan set aksara untuk dipadankan. Contohnya, untuk memadankan semua huruf kecil dan nombor, gunakan kelas aksara [0-9a-z]:
$string = 'Hello World123'; if (preg_match('/^[0-9a-z ]+$/', $string)) { echo 'Valid string'; } else { echo 'Invalid string'; }
kecuali Selain menggunakan fungsi preg_replace() untuk menggantikan rentetan, anda juga boleh menggunakan kumpulan menangkap untuk melakukan operasi gantian. Kaedah ini lebih fleksibel dan biasanya lebih pantas daripada menggunakan preg_replace(). Sebagai contoh, kod berikut akan mengalih keluar semua teg HTML daripada rentetan:
$string = '<strong>Hello World!</strong>'; $output = preg_replace('/<.*?>/s', '', $string); echo $output;
Jika anda menggunakan banyak biasa kompleks ungkapan Ungkapan, adalah disyorkan untuk mentakrifkannya sebagai pemalar. Ini meningkatkan kebolehbacaan kod dan mengurangkan kemungkinan ralat. Contohnya:
define('VALID_NAME', '/^[a-z]+$/i'); define('VALID_PASSWORD', '/^(?=.*[!@#$%^&*])(?=.*[0-9])(?=.*[A-Z])[a-zA-Z0-9!@#$%^&*]{6,}$/');
Dalam artikel ini, kami melihat amalan terbaik untuk menggunakan ungkapan biasa dalam PHP. Jika anda menggunakan ungkapan biasa dengan betul, kod anda akan menjadi lebih cekap dan boleh dibaca. Selain itu, anda juga boleh mencuba menggunakan perpustakaan PHP seperti PCRE, PCRE2, dan Phonon Regex untuk meningkatkan keupayaan ekspresi biasa anda.
Atas ialah kandungan terperinci Amalan Terbaik untuk Ungkapan Biasa dengan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!