Sebarang aksara dalam ungkapan biasa php. Ungkapan biasa (corak)

) Saya menunjukkan kepada anda contoh menggunakan ungkapan biasa untuk mencari bahagian tertentu kod sumber halaman. Sekarang kita akan belajar cara menulisnya sendiri. Kemahiran ini akan membantu anda menulis, mengosongkan teks daripada serpihan yang tidak diperlukan, mencari bahagian yang diperlukan dalam jumlah teks yang besar, dan sebagainya.

Topik ini agak rumit, tetapi saya akan cuba mengupas secara ringkas perkara yang paling penting. Saya tidak tahu sejauh mana kejayaan saya, tetapi saya harap pelajaran akan berguna.
Jadi, mari kita mulakan dengan fakta bahawa terdapat beberapa fungsi untuk bekerja dengan ungkapan biasa dalam PHP, tetapi tiga yang paling kerap digunakan:

  • preg_replace — mencari dan menggantikan teks yang sepadan dengan ungkapan biasa;
  • preg_match - hanya carian biasa;
  • preg_split - cari dan belah teks.

Sekurang-kurangnya, dalam pelajaran lepas kita menggunakannya. Lebih tepat lagi, bukannya preg_match terdapat preg_match_all, tetapi ini pada asasnya adalah perkara yang sama, hanya yang kedua tidak mengganggu carian selepas penemuan pertama. Iaitu, jika kita menggunakan preg_match, kita tidak akan menemui semua kejadian, tetapi hanya yang pertama.

Memilih fungsi mana yang hendak digunakan dalam situasi yang agak mudah. Kami perlu menggantikan - kami menggunakan ganti, seperti dalam kes apabila kami perlu mengalih keluar bahagian kod halaman yang tidak diperlukan, ingat?

$page = preg_replace("/ ^]/i", "", $page); $page = preg_replace("/ ^]/i", "", $page); $page = str_replace("","", $page);

Parameter pertama fungsi ialah aksara biasa yang menentukan perkara yang kita cari. Yang kedua ialah apa yang kita ganti dengannya. Ketiga - Di manakah kita mencari? Oleh itu, di sini kami mengambil pembolehubah $page dan memberikannya hasil daripada fungsi preg_replace di mana kami mencari semua jenis input=kotak semak, serta membuka dan menutup label. Mereka menggantikannya dengan ", iaitu, mereka hanya memadamkannya. Saya harap semuanya jelas di sini. Kami akan beralih kepada menganalisis ungkapan itu sendiri (parameter pertama fungsi) sedikit kemudian.
Terdapat juga contoh penggunaan preg_match_all, yang berguna untuk mencari semua pautan dalam teks yang tinggal. Kami memerlukan pautan ketika itu kerana ia mengandungi kata kunci yang kami huraikan. Inilah yang berlaku:

Preg_match_all("/ ]+?>(.*?)<\/a>/uis",$page,$ok); untuk ($j=0; $j ".$ok[$j].""; }

Parameter pertama sekali lagi ialah ungkapan biasa untuk mencari semua pautan yang secara semula jadi disertakan dalam teg "a" (jika anda tidak biasa dengan penanda html, kemudian baca). Yang kedua ialah pembolehubah yang mengandungi teks yang akan dicari. Parameter ketiga ialah pembolehubah di mana keputusan diletakkan - $ok. Selepas ini, semua yang tinggal ialah melalui semua elemen $ok yang diperlukan untuk mendapatkan tangkapan utama yang kami perlukan. Secara berasingan, ia harus dikatakan bahawa pada output kita mendapat tatasusunan multidimensi. Itulah sebabnya kami memaparkannya dengan cara yang begitu kompleks: $ok[$j]. Untuk melihat struktur tatasusunan, gunakan fungsi di bawah dan anda akan memahami segala-galanya.

Print_r($ok);

Nampaknya kami telah menyusun fungsi yang kami gunakan untuk kerja kami. Kini yang tinggal hanyalah mempelajari cara menulis ungkapan biasa yang sama ini, yang merupakan parameter pertama bagi setiap kaedah ini. Mari kita beralih kepada perkara yang paling penting.

Cara menulis ayat biasa

Pertama, mari kita lihat struktur asas. Ungkapan mempunyai pilihan. Mereka ditentukan oleh satu huruf dan ditulis pada akhir, didahului dengan garis miring.

Selain itu, metakarakter berikut disokong:

Metacharacter pula boleh mempunyai pengubah suai:

Nah, sekarang kita boleh meneruskan untuk menganalisis corak biasa kita dari pelajaran lepas. Berdasarkan tanda-tanda di atas, mari kita cuba memahami apa yang kita ada. Inilah ungkapannya:

/^]/i

Tanda serong pertama dan terakhir "/" menunjukkan bahawa terdapat ungkapan biasa di dalamnya. Pada masa yang sama, selepas yang terakhir kami meletakkan "i", ini adalah pilihan, seperti dalam jadual pertama - jangan ambil kira. Di dalam garis miring adalah urutan biasa itu sendiri. Ia bermula dengan tanda kurang daripada dan teg input, dan semua yang datang selepas itu sehingga tanda titik hanyalah teks biasa untuk dicari. Tetapi titik itu sendiri, dan simbol selepasnya, lebih menarik. Dalam kes ini, pembinaan “.*?” bermaksud sebarang urutan aksara. Iaitu, jika kita menggabungkan hanya teks dan pembinaan ini, maka kita akan memilih semua teks selepas kejadian pertama dan sehingga akhir. Untuk berhenti, anda perlu menemui sama ada teg HTML penutup "lebih daripada" atau watak baris baharu. Reka bentuk ini memberi kita peluang sedemikian:

Aksara dalam kurungan segi empat sama disambungkan dengan OR logik. Penghujungnya adalah lebih besar daripada tanda ATAU permulaan baris.
Itu sahaja ungkapan, di dalamnya kita tetapkan keadaan mula, keadaan tengah dan akhir. Tak susah kan? Berikut ialah ilustrasi untuk kejelasan:

Mari kita lihat satu lagi perkara untuk memantapkan segala-galanya. Kami mencari pautan dengan mereka:

/]+?>(.*?)<\/a>/uis

Kami membaca ungkapan itu. Sekali lagi, kami membuang garis miring dan pilihan dahulu. Bendera "uis" adalah jelas, kecuali "u", yang saya tidak terangkan - ia menunjukkan bahawa kami menggunakan pengekodan Unicode. Tidak banyak yang tinggal. Permulaan ialah teg "a", yang dibuka, kemudian datang kelas

yang bermaksud TIDAK lebih besar daripada atau kurang daripada (membuka dan menutup teg HTML), iaitu, sebarang aksara dalam kes ini. “+?” ditambahkan pada kelas, yang bermaksud bahawa kelas ini akan hadir 1 kali atau lebih (tetapi pasti sekurang-kurangnya 1 kali). Dan kemudian datang teg html penutup untuk teg "a". Terdapat teks di dalam pautan yang ditentukan oleh kumpulan

Lagipun, kami tidak tahu jenis teks yang akan ada, jadi kami mentakrifkan kumpulan sedemikian. Dan pada akhirnya terdapat tag penutup "a":

Sila ambil perhatian bahawa kami melepaskan garis miring menggunakan garis miring ke belakang supaya ia dilihat sebagai teks ringkas.

Fuh. Topik ini benar-benar agak kompleks, ia memerlukan latihan. Mungkin saya melakukan sesuatu yang tidak begitu optimum dan mungkin untuk mencipta ungkapan biasa yang lain yang lebih betul, tetapi saya belajar sendiri seperti anda, jadi jangan menilai dengan tegas, sebaliknya kongsi pilihan anda dalam ulasan. Selain itu, jika ada sesuatu yang tidak jelas, ulasan dan halaman hubungan disediakan untuk anda.

Ungkapan biasa adalah alat pemprosesan rentetan yang sangat berkuasa, tetapi pada masa yang sama sukar difahami. Saya akan menerangkan perkara utama. Ungkapan biasa ialah corak rentetan. Menggunakan templat ini, anda boleh mencari kejadian, membuat penggantian dan menyemak pematuhan dengan templat.

Peraturan untuk mencipta corak

Sempadan templat mesti ditunjukkan oleh simbol tertentu, selalunya menggunakan " / ", tetapi saya lebih suka menggunakan " # " kerana banyaknya garisan depan/belakang boleh mempesonakan mata anda, dan tanda cincang biasanya tidak digunakan di tempat lain. Jadi: " #HereBodyRegularExpression#"

Tanda kurung digunakan dalam ungkapan biasa - ini adalah subungkapan yang boleh dimanipulasi, contohnya:

#^/catalog/(+)/(+)\.html.*#

Ungkapan ini direka bentuk untuk mendapatkan parameter dalam rentetan URL. Pada permulaan baris terdapat watak istimewa " ^ " - ini bermakna permulaan baris. Seterusnya datang " /katalog/" - tiada aksara khas di sini, ini hanyalah teks yang harus terkandung dalam baris. Kemudian kami menemui kurungan, iaitu kami mencapai subungkapan pertama. Tanda kurungan empat segi menunjukkan banyak aksara yang boleh berada dalam baris di tempat ini. " - " bermaksud penghitungan. Tanda " \ " melarikan diri daripada aksara khas. Oleh itu, dalam subungkapan pertama kita boleh mempunyai MODAL dan huruf kecil abjad Latin, nombor dari 0 hingga 9, garis bawah, sengkang dan titik. Sengkang dan titik ialah aksara khas, tetapi di sini mereka melarikan diri, jadi di sini ia hanya simbol Selepas kurungan persegi terdapat tanda ". + " - ini bermakna aksara sebelumnya (dan bagi kami ini adalah set aksara yang dinyatakan dalam kurungan segi empat sama) boleh muncul 1 kali atau lebih. Kemudian datang " / " hanyalah simbol, dan subungkapan kedua yang serupa. Kemudian datang " \.html"apa maksud teks itu" .html". Dan kemudian watak istimewa " .* "Titik bermaksud sebarang aksara, dan asterisk bermaksud sebarang jumlah aksara sebelumnya. Iaitu, selepas " .html“Apa-apa pun boleh pergi.

Petunjuk kuantiti, pengkuantiti

Di atas kita telah mempertimbangkan simbol sedemikian yang menunjukkan bilangan simbol sebelumnya, seperti + Dan * . Berikut ialah semua kemungkinan untuk menentukan kuantiti:

Watak istimewa

Terdapat singkatan khas untuk beberapa kumpulan watak:

"Ketamakan"

Mari kita lihat konsep tamak ungkapan biasa. Sebagai contoh terdapat baris:

#()#

Kami membaca: subungkapan:

Semuanya nampaknya betul, subungkapan sesuai:

Tetapi ia juga sesuai:

Itulah yang kita akan dapat, kerana... Ungkapan biasa adalah tamak secara lalai. Anda boleh menghilangkan ketamakan menggunakan pengubah " U", seperti ini:

#()#U

Pengubah suai

Ungkapan biasa boleh diikuti oleh pengubah suai: " #HereBodyRegularExpression#HereModifiers"Jenis pengubah suai:

i Mendayakan mod tidak peka huruf besar-besaran, i.e. huruf besar dan huruf kecil dalam ungkapan tidak berbeza.
m Menunjukkan bahawa teks yang dicari harus dianggap sebagai terdiri daripada berbilang baris. Secara lalai, enjin ungkapan biasa menganggap teks sebagai rentetan tunggal, tidak kira apa sebenarnya. Sehubungan itu, metakarakter "^" dan "$" menunjukkan permulaan dan akhir keseluruhan teks. Jika pengubah suai ini ditentukan, maka ia akan menunjukkan, masing-masing, permulaan dan penghujung setiap baris teks.
s Metakarakter lalai ialah " . " tidak termasuk aksara baris baharu dalam takrifannya. Menentukan pengubah suai ini mengalih keluar sekatan ini.
U Menghilangkan ketamakan ekspresi biasa
u Membolehkan ungkapan biasa untuk digunakan Cyrillic kepada UTF-8, jika tidak, ia tidak berfungsi dengan betul.

php Fungsi untuk bekerja dengan ungkapan biasa

preg_replace

Cari dan ganti:

Preg_replace (campuran $pattern , campuran $replacement , campuran $subjek [, int $limit = -1 [, int &$count ]]);

Setiap nilai boleh menjadi rentetan atau tatasusunan, sekiranya berlaku $subjek tatasusunan - tatasusunan dikembalikan, jika tidak rentetan

preg_split

Memisahkan rentetan menggunakan ungkapan biasa:

Preg_split (rentetan $pattern , rentetan $subjek [, int $limit = -1 [, int $flags = 0 ]]);

Mengembalikan tatasusunan yang terdiri daripada subrentetan rentetan yang diberikan subjek, yang dibahagikan di sepanjang sempadan yang sepadan dengan corak corak.

Mari kita mulakan dengan ungkapan biasa. Jadi jawab saya soalan ini: adakah terdapat "e" dalam perkataan "ujian"? "Makan!" kamu berkata. Kemudian saya bertanya kepada anda soalan kedua, bagaimana anda menemui huruf "e" dalam perkataan "ujian"? Jawapannya jelas, kita mengambil watak pertama, iaitu, "t" dan membandingkannya dengan apa yang kita cari, iaitu, dengan "e". Jika mereka tidak sama, maka kita mengambil watak kedua, iaitu, "e", dan membandingkannya dengan apa yang kita cari, iaitu, "e". Voila! Satu perlawanan ditemui. Jawapan: Perkataan "ujian" mengandungi huruf "e".

Sekarang jawab saya satu lagi soalan, di manakah ungkapan biasa dalam contoh ini? Saya harap anda meneka bahawa ungkapan biasa di sini adalah apa yang kami cari dalam perkataan "ujian". Iaitu, huruf "e" dalam contoh ini adalah ungkapan biasa.

Apakah ungkapan biasa yang digunakan dalam PHP? Dalam amalan saya, ungkapan biasa digunakan, sebagai contoh, untuk menentukan sama ada alamat e-mel telah dikarang dengan betul. Ungkapan sedemikian juga digunakan untuk menentukan ketepatan nama pengguna dan kata laluan. Menggunakan ungkapan biasa, anda boleh mencari alamat dalam pautan dan menyimpannya. Terdapat banyak perkara yang boleh anda lakukan Dengan menganalisis ini, anda boleh mengenal pasti fungsi utama ungkapan biasa, dan dua sisi. Fungsi utama, ini ialah carian untuk padanan dalam rentetan. Kesan sampingan termasuk menyimpan padanan yang ditemui dan menggantikannya.

Ungkapan biasa pertama

Secara teori, kita faham bagaimana untuk mencari watak "e" dalam perkataan "ujian", tetapi bagaimana ini dilaksanakan dalam amalan? Untuk menggunakan ungkapan biasa dalam php, fungsi berikut biasanya digunakan:

preg_match("ungkapan biasa (corak)", "pembolehubah di mana carian dilakukan", "Pembolehubah di mana hasil carian disimpan (parameter pilihan)"); - Fungsi padanan
preg_replace("ungkapan biasa (corak)", "Apa yang hendak menggantikan padanan yang ditemui", "pembolehubah yang mana penggantian dibuat"); - Gantikan fungsi

Mari mula menggunakan fungsi ini Berikut ialah contoh mencari aksara "e" dalam perkataan "ujian":

$a = "ujian";
if(preg_match("/e/",$a)) echo "dijumpai!!";

Kod ini menerangkan keadaan: jika sesuatu yang sepadan dengan corak ditemui dalam pembolehubah $a, kemudian paparkan mesej "ditemui!!" Seperti yang anda mungkin perasan, templat kami terletak di antara dua "/". Dalam kes ini, simbol "/" melambangkan permulaan dan akhir corak kita. Saya harap ini jelas.

Semua ini menarik, sudah tentu... tetapi templat kami sangat mudah, bukankah anda fikir? Lagipun, kita jarang perlu mencari beberapa simbol dalam pembolehubah. Dalam kebanyakan kes, kita perlu mencari banyak watak, dan juga yang tidak diketahui. Bagaimana untuk menjadi? Mari kita set diri kita masalah dan cuba untuk menyelesaikannya. Katakan kita mempunyai rentetan yang terdiri daripada nombor dan satu huruf Inggeris yang tidak diketahui

Bagaimana untuk mencari surat ini? Mungkin terdapat sebarang huruf abjad Inggeris, jadi bagaimana anda boleh mengenal pastinya? Anda sendiri menjawab soalan anda, ada apa-apa huruf, iaitu dalam julat dari a hingga z. Anda boleh menggunakan julat dalam ungkapan biasa. Jika kita tidak tahu watak apa yang kita cari, tetapi kita tahu dengan pasti bahawa watak ini adalah huruf abjad Inggeris, maka entrinya adalah seperti berikut:

$a = "123a321";
if(preg_match("//",$a)) echo "dijumpai!!";

Ambil perhatian bahawa julat disertakan dalam kurungan "[" "]". Semua yang disertakan dalam kurungan tersebut ditakrifkan sebagai satu simbol, dalam kes ini simbol berjulat dari a hingga z. Jika kita perlu mencari bukan huruf, tetapi nombor, maka entrinya akan menjadi seperti ini:

$a = "abc1cba";
if(preg_match("//",$a)) echo "dijumpai!!";

Saya juga ingin ambil perhatian bahawa ungkapan biasa adalah sensitif huruf besar-besaran, jadi aksara "A" dan "a" adalah berbeza sama sekali, untuk mencari kedua-dua aksara, tulis seperti ini:

$a = "123a321";
if(preg_match("//",$a)) echo "dijumpai!!";

Terdapat juga carian untuk surat Rusia, dijalankan dengan cara yang sama seperti dengan surat bahasa Inggeris:

$a = "123×321";
if(preg_match("/[a-zA-Z]/",$a)) echo "ditemui!!";

Metacharacters

Kami belajar cara mencari watak yang tidak diketahui dalam rentetan. Apa yang perlu dilakukan jika kita perlu mencari beberapa watak? Apa yang dipanggil metasimbol datang untuk menyelamatkan... Katakan kita mempunyai rentetan dengan nombor dan huruf, bagaimana kita boleh menerangkannya dalam templat? Anda boleh melakukan ini:

talian - 123a321
sampel -

Hmm... templat sebenarnya sepadan dengan rentetan kami, dan apabila disemak untuk pematuhan ia akan memberikan kebenaran yang ditunggu-tunggu! Tetapi ia adalah rekod yang menyusahkan, bukankah anda fikir?

Inilah cara untuk memendekkannya:

talian - 123a321
sampel - *

Nampaknya pada saya ia lebih pendek Apakah simbol "*"? Ini adalah metasimbol yang sama, ia bermakna bahawa simbol yang kami gambarkan (iaitu, simbol yang boleh mengandungi nombor dari 0 hingga 9 atau huruf abjad Inggeris, dari a hingga z) boleh diulang selama-lamanya, atau lebih daripada sekali. Ya Ya! Metasimbol ini akan mencari padanan dalam pembolehubah kosong, kerana walaupun ketiadaan simbol yang kami nyatakan akan kembali benar! Ingat ini

Apakah metakarakter lain yang ada?

Sebagai contoh, metacharacter "+" Ia hampir serupa dengan metacharacter "*" dengan satu pengecualian kecil. "*" akan kembali benar walaupun tiada aksara dan "+" akan menyemak kehadiran sekurang-kurangnya satu aksara. Iaitu, jika garis memerlukan kehadiran minimum satu aksara kemudian gunakan "+" dan bukannya "*"

Metacharacter "?" juga sering digunakan. Ini bermakna bahawa baris mesti mengandungi tidak lebih daripada satu aksara yang diingini. Biar saya berikan beberapa contoh untuk dua metakarakter terakhir yang saya nyatakan.

Katakan kita perlu menyemak kata laluan pengguna untuk kebenaran. Mari kita fikirkan apakah kata laluan pengguna harus mengandungi? Pertama sekali, ia mestilah sekurang-kurangnya satu watak. Kedua, ia mesti mengandungi hanya nombor dan huruf abjad Inggeris, jadi ungkapan biasa akan kelihatan seperti ini:

$a = "qwerty12345";

Apakah watak yang kami benarkan? Huruf Inggeris mana-mana kes dan nombor. Sekarang cuba tinggalkan baris kosong dan bukannya kata laluan.

$a = "";
if(preg_match("/+/",$a)) echo "Kata laluan adalah betul";

Anda tidak akan melihat mesej "Kata Laluan adalah betul". kenapa? Kerana metacharacter "+" menyemak rentetan untuk melihat sama ada ia mempunyai sekurang-kurangnya satu aksara.

Dan kini sedikit helah, mari kita lihat ekspresi kita, kita tidak benarkan, baiklah, katakan ruang di dalamnya, bukan? letakkan ruang di hujung kata laluan dan jalankan

$a = "qwerty12345";
if(preg_match("/+/",$a)) echo "Kata laluan adalah betul";

Dan mengapa kita melihat mesej kita tentang kata laluan yang betul? Ia agak mudah... Function preg_match(); menghentikan pemeriksaannya pada perlawanan pertama. Iaitu, simbol "q" sesuai dengan corak yang kami gambarkan, dan semua yang lain tidak lagi penting untuk fungsi itu. Inilah cara untuk membetulkannya:

$a = "qwerty12345";
if(preg_match("/^+$/",$a)) echo "Kata laluan adalah betul";

Dengan menambahkan "^" pada permulaan ungkapan dan "$" pada penghujung, kami memberitahu fungsi apa yang patut dipadankan oleh corak semua barisan. Jika anda menjalankan kod ini, anda tidak akan melihat mesej itu, kerana terdapat aksara yang menyalahi undang-undang di hujung kata laluan - ruang

Sekarang tukar metacharacter "+" kepada metacharacter "?". Apa yang anda fikir akan berlaku? Betul, tidak akan ada mesej tentang ketepatan kata laluan, kerana kata laluan mengandungi lebih daripada satu aksara. Saya harap saya menerangkan dengan betul kerja ketiga-tiga metakarakter yang kerap digunakan ini

Kadang-kadang "tidak" adalah lebih baik

Kami sekurang-kurangnya telah belajar untuk menyemak kata laluan adalah betul, dan itu bagus! Biar saya beritahu anda tentang cara lain untuk mencari sesuatu dalam rentetan. Katakan kita perlu menyemak ketiadaan nombor dalam rentetan. Bagaimana hendak melakukannya? Inilah barisnya:

(Saya secara khusus memperkenalkan simbol "-_+()" ini ke dalamnya supaya kehidupan tidak kelihatan seperti madu...) Kita boleh merumuskan ungkapan berikut:

Tetapi anda mesti mengakui, kami tidak selalu tahu aksara yang digunakan dalam baris, tetapi kami tahu pasti bahawa tidak sepatutnya ada nombor di dalamnya! Oleh itu adalah lebih logik untuk hanya menulis templat yang akan melangkau baris di mana Tidak nombor, dan bukan yang ada di dalamnya "Ya Tuhanku, berapa banyak simbol yang tidak dapat difahami!!!". Berikut ialah contoh ungkapan yang digubah dengan betul untuk masalah tersebut:

$a = "a-_+()";
if(preg_match("/^[^0-9]+$/",$a)) echo "Tiada nombor!";

Bagaimanakah kami mencapai ini? Kami telah memasukkan simbol Tetapi! topi "^" ([^0-9]) diletakkan pada permulaan menunjukkan bahawa akan ada tidak sepatutnya Saya harap perkara ini telah diselesaikan

Baiklah, mari kita akhirinya perlahan-lahan... Saya akan memberikan dua contoh dengan penjelasan, di mana kita akan belajar cara menyimpan hasil carian ke dalam pembolehubah dan belajar cara menyemak alamat pos untuk ketepatan

Saya melihatnya dan menyelamatkannya!

Blog saya

$a = " Blog saya";
preg_match("/ /", $a);

Dalam ungkapan biasa kami, kami menerangkan semua kemungkinan aksara yang boleh disertakan dalam pautan. Saya juga ingin memberi perhatian kepada petikan dan aksara "/" dalam ungkapan kami Mereka didahului dengan garis serong ke belakang, untuk apa? Hakikatnya ialah "/" dan petikan itu sendiri adalah watak istimewa. Dan untuk membolehkan templat menganggapnya sebagai simbol biasa, kita perlu menyaringnya. Melarikan diri dilakukan dengan menambahkan garis miring ke belakang sebelum aksara khas. Saya harap ia jelas

$a = " Blog saya";
preg_match("/ /", $a, $b);

Oleh itu, adalah perlu untuk menambah parameter tambahan dalam bentuk pembolehubah $b, di mana pautan yang ditemui akan disimpan. Anda juga perlu tahu bahawa hasil carian diletakkan dalam tatasusunan. Oleh itu, pembolehubah $b ialah tatasusunan. Maklumat yang kami cari adalah di bawah indeks 1. Ini bermakna hasil carian adalah dalam pembolehubah $b. Mari paparkan hasilnya pada skrin:

$a = " Blog saya";
preg_match("/ /", $a, $b);
gema $b;

Alamat yang betul adalah kunci kejayaan!

Dan akhirnya, jawapan kepada soalan, adakah e-mel itu betul? Pertama, anda perlu mengetahui aksara apa yang dibenarkan dalam alamat? Setahu saya, aksara yang dibenarkan termasuk:

  • Huruf Inggeris, nombor, "_", "-" ummmm semuanya nampaknya... Kami akan meneruskan dari ini.
  • Seterusnya kita mempunyai "@"
  • Selepas, surat Inggeris
  • Seterusnya, tempoh
  • Dan sekali lagi huruf Inggeris...

Jadi ungkapan biasa adalah seperti berikut:

$a = " [e-mel dilindungi]";
if(preg_match("/^+@+.+$/", $a)) echo "alamat e-mel betul!";
else echo "alamat e-mel TIDAK ditulis dengan betul!";

Baiklah... Saya harap rekod sedemikian tidak menakutkan anda sekarang, dan anda boleh memahaminya.

Akhir sekali, saya ingin mengatakan sesuatu. Artikel itu ternyata menyusahkan, dan pada masa yang sama merangkumi hanya sebahagian daripada kemungkinan. Jika anda sedang membaca ayat ini, kemungkinan besar anda telah membacanya hingga habis, yang mana terima kasih banyak-banyak

Mengenai siri artikel tentang membangunkan blog cms, bahagian pertama siri ini Saya mengisytiharkan ia ditutup! Dalam masa terdekat kami akan mula melaksanakan panel pentadbir, jadi jangan "bertukar" Jika anda mempunyai sebarang pertanyaan, saya dengan senang hati akan menjawab. Semua yang terbaik untuk anda, itu sahaja yang saya ada!