Ekspresi Reguler / Ekspresi Reguler PHP: preg_match () - preg_replace ()

Daftar Isi:

Anonim

Apa Ekspresi Reguler di PHP?

Ekspresi Reguler PHP juga dikenal sebagai regex adalah algoritma pencocokan pola yang kuat yang dapat dilakukan dalam satu ekspresi. Ekspresi reguler menggunakan operator aritmatika seperti (+, -, ^) untuk membuat ekspresi kompleks. Mereka dapat membantu Anda menyelesaikan tugas seperti memvalidasi alamat email, alamat IP, dll.

Mengapa menggunakan ekspresi reguler

  • Ekspresi reguler PHP menyederhanakan pola identifikasi dalam data string dengan memanggil satu fungsi. Ini menghemat waktu pengkodean kami.
  • Saat memvalidasi input pengguna seperti alamat email, nama domain, nomor telepon, alamat IP,
  • Menyoroti kata kunci dalam hasil pencarian
  • Saat membuat template HTML kustom. Regex di PHP dapat digunakan untuk mengidentifikasi tag template dan menggantinya dengan data aktual.

Dalam tutorial PHP Regex ini, Anda akan belajar:

  • Fungsi ekspresi reguler bawaan di PHP
  • PHP Preg_match ()
  • PHP Preg_split ()
  • PHP Preg_replace ()
  • Metakarakter Ekspresi Reguler
  • Menjelaskan polanya

Fungsi ekspresi reguler bawaan di PHP

PHP memiliki fungsi bawaan yang memungkinkan kita bekerja dengan fungsi biasa yang akan kita pelajari dalam tutorial Ekspresi Reguler PHP ini. Mari kita lihat fungsi ekspresi reguler yang umum digunakan di PHP.

  • preg_match () di PHP - fungsi ini digunakan untuk melakukan pencocokan pola di PHP pada sebuah string. Ini mengembalikan nilai benar jika kecocokan ditemukan dan salah jika kecocokan tidak ditemukan.
  • preg_split () di PHP - fungsi ini digunakan untuk melakukan pencocokan pola pada string dan kemudian membagi hasilnya menjadi array numerik
  • preg_replace () di PHP - fungsi ini digunakan untuk melakukan pencocokan pola pada string dan kemudian mengganti pencocokan dengan teks yang ditentukan.

Di bawah ini adalah sintaks untuk fungsi ekspresi reguler seperti PHP preg_match (), PHP preg_split () atau PHP preg_replace ().

SINI,

  • "function_name (…)" adalah PHP preg_match (), PHP preg_split () atau PHP preg_replace ().
  • "/… /" Garis miring menunjukkan awal dan akhir dari fungsi penguji regex PHP kami
  • "'/ pattern /'" adalah pola yang harus kita cocokkan
  • "subjek" adalah string teks yang akan dicocokkan

Sekarang mari kita lihat contoh praktis yang mengimplementasikan fungsi regex PHP di atas.

PHP Preg_match ()

Contoh pertama menggunakan preg_match () dalam fungsi PHP untuk melakukan pencocokan pola sederhana untuk kata guru di URL tertentu.

Kode di bawah ini menunjukkan implementasi fungsi tester preg_match () untuk contoh di atas.

Jelajahi ke URL http: //localhost/phptuts/preg_match_simple.php

Mari kita periksa bagian dari kode yang bertanggung jawab untuk keluaran kita "preg_match ('/ guru /', $ my_url)" DI SINI,

  • "preg_match (…)" adalah fungsi regex PHP
  • "'/ guru /'" adalah pola ekspresi reguler yang akan dicocokkan
  • "$ my_url" adalah variabel yang berisi teks yang akan dicocokkan.

Diagram di bawah merangkum poin-poin di atas

PHP Preg_split ()

Sekarang mari kita lihat contoh lain yang menggunakan preg_split () dalam fungsi PHP.

Kami akan mengambil frase string dan meledakkannya menjadi sebuah array; pola yang akan dicocokkan adalah satu spasi.

String teks yang akan digunakan dalam contoh ini adalah "Saya Suka Ekspresi Reguler".

Kode di bawah ini menggambarkan implementasi contoh di atas.

Jelajahi ke URL http: //localhost/phptuts/preg_split.php

PHP Preg_replace ()

Sekarang mari kita lihat fungsi preg_replace () dalam PHP yang melakukan pencocokan pola dan kemudian mengganti pola dengan yang lain.

Kode di bawah ini mencari kata guru dalam sebuah string.

Ini menggantikan kata guru dengan kata guru yang dikelilingi oleh kode css yang menyoroti warna latar belakang.

Dengan asumsi Anda telah menyimpan file preg_replace.php, browser ke URL http: //localhost/phptuts/preg_replace.php

Metakarakter Ekspresi Reguler

Contoh di atas menggunakan pola yang sangat dasar; metakarakter memungkinkan kita untuk melakukan pencocokan pola yang lebih kompleks seperti menguji validitas alamat email. Sekarang mari kita lihat karakter meta yang umum digunakan.

Metakarakter Deskripsi Contoh
. Cocok dengan satu karakter apa pun kecuali baris baru /./ cocok dengan apa pun yang memiliki satu karakter
^ Cocok dengan awal atau string / tidak termasuk karakter / PH / cocok dengan sembarang string yang dimulai dengan PH
$ Mencocokkan pola di ujung string / com $ / cocok dengan guru99.com, yahoo.com Dll
* Cocok dengan nol (0) atau lebih karakter / com * / cocok dengan komputer, komunikasi, dll.
+ Membutuhkan karakter sebelumnya muncul setidaknya sekali / yah + oo / cocok dengan yahoo
\ Digunakan untuk keluar dari karakter meta /yahoo+\.com/ memperlakukan titik sebagai nilai literal
[…] Kelas karakter / [abc] / cocok dengan abc
az Cocok dengan huruf kecil / az / cocok dengan keren, senang, dll.
AZ Cocok dengan huruf besar / AZ / cocok dengan APA, BAGAIMANA, MENGAPA dll.
0-9 Cocok dengan angka apa pun antara 0 dan 9 / 0-4 / pertandingan 0,1,2,3,4

Daftar di atas hanya memberikan karakter meta yang paling umum digunakan dalam ekspresi reguler.

Sekarang mari kita lihat contoh yang cukup kompleks yang memeriksa validitas alamat email.

Menjelaskan polanya "[/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/] "

SINI,

  • "'/… /'" Memulai dan mengakhiri ekspresi reguler
  • "[a-zA-Z0-9 ._-]" cocok dengan semua huruf kecil atau besar, angka antara 0 dan 9 dan titik, setrip bawah atau setrip.
  • "+ @ [a-zA-Z0-9-]" cocok dengan simbol @ diikuti dengan huruf kecil atau besar, angka antara 0 dan 9 atau tanda hubung.
  • "+ \. [a-zA-Z.] {2,5} $ /" mengonversi titik menggunakan garis miring terbalik lalu mencocokkan semua huruf kecil atau besar dengan panjang karakter antara 2 dan 5 di akhir string.

Jelajahi ke URL http: //localhost/phptuts/preg_match.php

Seperti yang Anda lihat dari contoh pengelompokan di atas, karakter meta sangat berguna dalam hal pola pencocokan.

Ringkasan

  • Ekspresi Reguler atau Regex dalam PHP adalah algoritma pencocokan pola
  • Ekspresi reguler sangat berguna saat melakukan pemeriksaan validasi, membuat sistem template HTML yang mengenali tag, dll.
  • PHP memiliki fungsi bawaan yaitu PHP preg_match (), PHP preg_split () dan PHP preg_replace () yang mendukung ekspresi reguler.
  • Karakter meta memungkinkan kita membuat pola yang kompleks