Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk memintas rentetan menggunakan ungkapan biasa dalam PHP

Bagaimana untuk memintas rentetan menggunakan ungkapan biasa dalam PHP

王林
王林asal
2023-06-24 10:03:071716semak imbas

Dalam pengaturcaraan PHP, kadangkala anda perlu memintas sebahagian daripada rentetan, tetapi anda tidak tahu lokasi tertentu Dalam kes ini, anda perlu menggunakan ungkapan biasa untuk mengekstrak teks sasaran.

Ungkapan biasa ialah alat pemadanan teks yang berkuasa yang boleh memadankan corak tertentu dalam teks melalui beberapa aksara meta, dengan itu membolehkan carian teks, penggantian, pemintasan dan operasi lain.

Dalam PHP, langkah-langkah untuk menggunakan ungkapan biasa untuk memintas rentetan adalah seperti berikut:

  1. Gunakan fungsi preg_match() untuk memadankan teks sasaran
    Fungsi preg_match() biasa digunakan untuk rentetan Salah satu fungsi padanan, sintaksnya adalah seperti berikut:

preg_match($pattern, $string, $matches);

di mana $pattern mewakili biasa corak ungkapan dan $rentetan mewakili teks Sasaran, $padanan mewakili tatasusunan output hasil yang sepadan.

Kod sampel:

$text = "Hari ini 1 September 2019";
$pattern = "/d{4}-d{2}-d{2 }/ ";
preg_match($pattern, $text, $matches);
print_r($matches);

Hasil keluaran:

Array
(

[0] => 2019-09-01

)

Dalam kod di atas, corak ungkapan biasa "/d{4}-d{2}-d{2}/" bermaksud aksara tarikh yang sepadan dalam String format yyyy-mm-dd , melalui fungsi preg_match(), rentetan yang sepadan dengan corak dalam teks sasaran boleh diekstrak dan disimpan ke dalam tatasusunan $matches.

  1. Gunakan fungsi preg_replace() untuk menggantikan teks sasaran
    Selain menggunakan fungsi preg_match() untuk mengekstrak teks sasaran, anda juga boleh menggunakan fungsi preg_replace() untuk menggantikan rentetan dalam teks sasaran yang sepadan dengan corak ungkapan biasa Digantikan dengan rentetan yang ditentukan.

Sintaks fungsi preg_replace() adalah seperti berikut:

preg_replace($pattern, $replace, $string);

Di mana, $pattern mewakili corak ungkapan biasa , $replace mewakili rentetan yang akan diganti dan $string mewakili teks sasaran.

Kod contoh:

$text = "Ini adalah sekeping teks yang perlu diganti";
$pattern = "/need/";
$replace = "Keberanian";
$text_new = preg_replace($pattern, $replace, $text);
echo $text_new;

Hasil keluaran:

Ini adalah teks yang berani untuk diganti

Dalam kod di atas, corak ungkapan biasa "/need/" bermaksud memadankan rentetan "need" Gunakan fungsi preg_replace() untuk menggantikan semua rentetan yang sepadan dengan corak dalam teks sasaran rentetan "berani", dan dapatkan teks baharu selepas penggantian.

  1. Gunakan fungsi preg_split() untuk membelah teks sasaran
    Selain menggunakan fungsi preg_match() dan fungsi preg_replace(), anda juga boleh menggunakan fungsi preg_split() untuk memisahkan teks sasaran kepada berbilang bahagian mengikut corak ungkapan biasa.

Sintaks fungsi preg_split() adalah seperti berikut:

preg_split($pattern, $string);

Di mana, $pattern mewakili ungkapan biasa corak, $string Mewakili teks sasaran.

Kod sampel:

$text = "a,b,c,d,e";
$pattern = "/,/";
$array = preg_split( $pattern, $text);
print_r($array);

Hasil keluaran:

Array
(

[0] => a
[1] => b
[2] => c
[3] => d
[4] => e

)

Dalam kod di atas, corak ungkapan biasa "/,/" bermaksud aksara koma yang sepadan Gunakan fungsi preg_split() untuk menggunakan semua aksara yang sepadan dengan corak dalam teks sasaran sebagai pembatas, bahagikan teks sasaran kepada berbilang subrentetan dan simpannya. kepada Array $array.

Ringkasnya, menggunakan ungkapan biasa untuk memintas rentetan dalam PHP boleh dicapai melalui fungsi preg_match(), fungsi preg_replace() dan fungsi preg_split(). Dalam amalan khusus, anda perlu memilih fungsi yang sesuai mengikut keperluan yang berbeza, dan melalui pembelajaran dan latihan, kuasai kemahiran menggunakan ungkapan biasa untuk melaksanakan operasi rentetan dengan lebih cekap.

Atas ialah kandungan terperinci Bagaimana untuk memintas rentetan menggunakan ungkapan biasa dalam 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