Mengganti Teks dengan preg_replace
Ganti hasil pencocokan dengan string pengganti dan referensi balik.
Mengganti Teks dengan preg_replace adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.
Tanda Tangan preg_replace()
preg_replace($pattern, $replacement, $subject) mengembalikan subject dengan semua kecocokan diganti. Berikan array subject untuk memproses beberapa string sekaligus.
Penggantian Sederhana
Ganti semua digit dalam string dengan tanda bintang.
<?php
$result = preg_replace('/\d/', '*', 'Order #12345');
echo $result; // "Order #*****"Referensi Balik dalam Penggantian
Gunakan $1, $2... (atau \1, \2) untuk menyisipkan grup yang ditangkap ke dalam string pengganti.
<?php
$result = preg_replace('/^(\w+)\s(\w+)$/', '$2, $1', 'John Smith');
echo $result; // "Smith, John"Referensi Balik Bernama
Grup penangkapan bernama dapat direferensikan sebagai ${name} dalam penggantian.
<?php
$result = preg_replace(
'/(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})/',
'${day}/${month}/${year}',
'2025-06-15'
);
echo $result; // "15/06/2025"Mengganti Beberapa Pola
Berikan array pola dan pengganti untuk memproses beberapa aturan sekaligus.
<?php
$result = preg_replace(
['/foo/', '/bar/'],
['baz', 'qux'],
'foo and bar'
);
echo $result; // "baz and qux"Parameter Batas
Parameter ke-4 membatasi jumlah penggantian yang dilakukan. Berikan -1 untuk jumlah tak terbatas (bawaan).
<?php
$result = preg_replace('/a/', 'X', 'banana', 2);
echo $result; // "bXnXna"Parameter Jumlah
Berikan variabel ke-5 untuk menerima jumlah penggantian yang dilakukan.
<?php
$count = 0;
$result = preg_replace('/e/', '3', 'hello everyone', -1, $count);
echo "$count replacements"; // "3 replacements"preg_replace_callback()
Saat logika penggantian kompleks, gunakan preg_replace_callback() untuk memproses setiap kecocokan dengan fungsi anonim.
<?php
$result = preg_replace_callback(
'/\d+/',
fn($m) => $m[0] * 2,
'Item: 5, Qty: 3'
);
echo $result; // "Item: 10, Qty: 6"Contoh Menghapus Tanda HTML
Hapus semua tanda HTML dengan regex sederhana (gunakan strip_tags() dalam penerapan produksi).
<?php
$clean = preg_replace('/<[^>]+>/', '', '<b>Hello</b> World');
echo $clean; // "Hello World"Mengubah String Menjadi Slug
Ubah judul menjadi slug yang aman untuk URL.
<?php
function slugify(string $s): string {
$s = strtolower($s);
$s = preg_replace('/[^a-z0-9]+/', '-', $s);
return trim($s, '-');
}
echo slugify('Hello World!'); // "hello-world"Catatan Kinerja
Buat pola tetap sederhana dan hindari penelusuran balik yang tidak terkendali. Gunakan preg_replace_callback untuk transformasi kompleks, bukan menumpuk beberapa pemanggilan preg_replace.
Perbedaan dari str_replace
str_replace lebih cepat untuk penggantian teks biasa. Gunakan preg_replace hanya jika Anda memerlukan kemampuan pola regex.
Ringkasan
preg_replace mengganti semua kecocokan suatu pola. Gunakan referensi balik ($1) untuk menggunakan kembali grup yang ditangkap. Gunakan preg_replace_callback saat logika penggantian bersifat dinamis.
Pemeriksaan Singkat
Bagaimana cara mereferensikan grup penangkapan pertama dalam string penggantian preg_replace?
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengganti Teks dengan preg_replace” gratis?
Ya — teks lengkap “Mengganti Teks dengan preg_replace” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mengganti Teks dengan preg_replace”?
Ganti hasil pencocokan dengan string pengganti dan referensi balik. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai PHP Academy?
Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Mengganti Teks dengan preg_replace” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?
Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar-Dasar Sintaks Regex
- Pencocokan dengan preg_match
- Mengganti Teks dengan preg_replace
- Pemisahan dan Pola Praktis