Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Amalan Terbaik untuk Ungkapan Biasa dengan PHP

Amalan Terbaik untuk Ungkapan Biasa dengan PHP

王林
王林asal
2023-06-08 09:22:271432semak imbas

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.

  1. Apabila menggunakan preg_match(), gunakan kumpulan penangkap:

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
)
  1. Untuk fungsi yang memerlukan ungkapan biasa, cuba gunakan fungsi terbina dalam PHP:

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().

  1. Menggunakan kelas aksara dalam ungkapan biasa:

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';
}
  1. Gunakan kumpulan penangkapan untuk melaksanakan operasi gantian:

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;
  1. Takrifkan ungkapan biasa sebagai pemalar:

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn