Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Fungsi PHP `preg_quote()` Meloloskan Watak untuk Penggunaan Corak Regex Selamat?

Bagaimanakah Fungsi PHP `preg_quote()` Meloloskan Watak untuk Penggunaan Corak Regex Selamat?

Mary-Kate Olsen
Lepaskan: 2024-12-22 03:20:11
asal
334 orang telah melayarinya

How Can PHP's `preg_quote()` Function Escape Characters for Safe Regex Pattern Use?

Melepaskan Watak untuk Corak Regex dalam PHP

Dalam PHP, fungsi preg_quote() menyediakan cara untuk melepaskan aksara dalam ungkapan biasa ( Regex) corak yang mempunyai makna istimewa kepada enjin Regex. Ini menghalang aksara ini daripada ditafsirkan sebagai sebahagian daripada corak, membenarkan ungkapan untuk digunakan dalam corak Regex lain tanpa menyebabkan konflik.

Serupa dengan fungsi Regex.Escape() dalam C#, preg_quote() menambah garis miring ke belakang () sebelum setiap aksara dalam rentetan input yang merupakan sebahagian daripada sintaks Regex. Watak istimewa ini termasuk:

  • . * ? [ ^ ] $ ( ) { } = ! < > | : -

Secara lalai, preg_quote() tidak terlepas daripada aksara pembatas yang digunakan untuk menyertakan corak Regex. Untuk memastikan bahawa pembatas juga terlepas, nyatakan ia sebagai parameter kedua kepada fungsi.

Contoh:

Andaikan kita mempunyai URL, $url = 'http ://stackoverflow.com/questions?sort=newest', yang kami mahu cari dalam rentetan yang dikelilingi oleh ruang kosong:

// Escape the characters in the URL and the forward slash (/) delimiter
$escapedUrl = preg_quote($url, '/');

// Enclose the Regex pattern in forward slashes
$regex = '/\s' . $escapedUrl . '\s/';

// Find occurrences of the URL in the string
preg_match($regex, $haystack, $matches);

var_dump($matches);
Salin selepas log masuk

Dalam contoh ini, preg_quote() melarikan diri dari titik (.), tanda soal (?), dan tanda sama (=) dalam URL, serta semua garis miring ke hadapan. Hasilnya, corak Regex yang kami cipta berjaya mencari URL dalam rentetan tumpukan jerami.

Atas ialah kandungan terperinci Bagaimanakah Fungsi PHP `preg_quote()` Meloloskan Watak untuk Penggunaan Corak Regex Selamat?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan