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

Amalan Terbaik untuk Ungkapan Biasa dengan PHP

王林
Lepaskan: 2023-06-08 09:24:02
asal
1489 orang telah melayarinya

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);
Salin selepas log masuk

Hasil output ialah:

Array (
  [0] => 1234-5678-9012-3456
  [1] => 1234
  [2] => 5678
  [3] => 9012
  [4] => 3456
)
Salin selepas log masuk
  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';
}
Salin selepas log masuk
  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;
Salin selepas log masuk
  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,}$/');
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan