Bagaimana cara menghapus teks setelah karakter tertentu di php?

Memiliki string teks, dan tugas untuk menghapus semua atau beberapa karakter khusus darinya di PHP, artikel ini menjelaskan berbagai metode untuk mencapainya dengan demonstrasi berbagai contoh

Pertama-tama, apa yang kami maksud dengan karakter khusus?

Karakter khusus dapat didefinisikan sebagai karakter apa pun yang tidak dianggap alfanumerik (alfabet atau angka), yaitu. jika tidak termasuk dalam kisaran 0 - 9 atau A - Z. Tanda baca, simbol, dan tanda aksen dianggap sebagai karakter khusus

Hal-hal di keyboard Anda seperti @, /, {, ), $, dan, #, dll semuanya adalah karakter khusus

Di PHP, Anda dapat menghapus beberapa atau semua karakter khusus di dalam string menggunakan

  • Fungsi str_replace()
  • Fungsi preg_replace()

Metode 1. Menggunakan str_replace() fungsi

str_replace() adalah fungsi bawaan di PHP yang digunakan untuk mengganti beberapa karakter dengan beberapa karakter lain dalam sebuah string.

Sintaksis

str_replace(temukan, ganti, tali, hitung)

Parameter

  • Temukan adalah parameter wajib yang menentukan nilai (karakter) yang ingin kita temukan dan ganti
  • Ganti adalah parameter wajib yang menentukan nilai yang harus kita ganti dengan karakter. Dalam hal ini, kami akan menggunakan string kosong ("")
  • Ganti adalah parameter wajib yang menentukan string di mana kami ingin menghapus berbagai karakter khusus
  • Hitungan adalah parameter opsional yang merupakan variabel yang menghitung jumlah penggantian. Dalam hal ini, kita tidak akan terlalu membutuhkannya

Fungsi mengembalikan string dengan karakter khusus yang telah dihapus

Contoh

<?php
$str = "Hey there! How are you doing?";
echo str_replace("?", "", $str);

Keluaran

Hai. Apa kabarmu

Anda dapat melihat bahwa "?", yang telah kami tentukan dalam string kami telah dihapus

Untuk menghapus lebih dari satu karakter tertentu dari sebuah string, Anda harus menentukan semuanya dalam array sebagai parameter pertama dari fungsi tersebut

Contoh

<?php
$str = "Hey @there#! How ( are) you *doing/?";
$remove = array("@", "#", "(", ")", "*", "/");
echo str_replace($remove, "", $str);
_

Keluaran

Hai. Apa kabar?

Seperti yang Anda lihat, kami telah menghapus semua karakter tertentu ("@", "#", "(", ")", "*", "/") dari string

Metode ini paling baik digunakan untuk menghapus karakter tertentu tetapi tidak cocok untuk menghapus semua karakter khusus

Fungsi str_ireplace() setara dengan str_replace() dalam semua aspek dengan satu-satunya perbedaannya adalah sensitivitas huruf besar-kecil. str_replace() peka terhadap huruf besar-kecil sedangkan str_ireplace() tidak peka huruf besar-kecil

Metode 2. Menggunakan fungsi preg_replace()

Fungsi preg_replace() menggantikan semua kecocokan pola atau daftar pola dalam string dengan substring.

Sintaksis

preg_replace(pola, penggantian, masukan, batas, jumlah)

Parameter

  • Pola adalah parameter wajib yang terdiri dari ekspresi reguler atau larik ekspresi reguler
  • Penggantian adalah parameter wajib yang terdiri dari string pengganti atau larik string pengganti
  • Input adalah parameter wajib yang menentukan string atau larik string di mana penggantian harus dilakukan
  • Batas adalah parameter wajib yang menetapkan batas berapa banyak penggantian yang harus dilakukan di setiap string
  • Hitungan adalah parameter opsional, variabel yang berisi jumlah penggantian yang terjadi setelah fungsi dijalankan

Pola terdiri dari kata atau frase yang diganti dengan garis miring pembuka dan penutup /pattern/ .

Di bawah ini adalah ekspresi reguler (pola) untuk karakter alfanumerik

[a-zA-Z0-9] yang juga dapat ditulis sebagai [[. alnum. ]]

Itu cocok dengan semua nilai alfanumerik, yaitu, semua nilai yang termasuk dalam kisaran 0 - 9 dan A - Z (huruf besar dan kecil)

Jika kita ingin menghapus semua nilai alfanumerik dari sebuah string, kita meneruskan [a-zA-Z0-9] sebagai pola dalam fungsi preg_replace() dan menggantinya dengan string kosong "".

<?php
$str = "Hey @there#! How ( are) you *d_oing/?";
echo preg_replace("/[a-zA-Z0-9]/", "", $str);

Keluaran

@#. ( ) *_/?

Sekarang untuk menghapus karakter khusus dari string, kita harus menggunakan ekspresi reguler yang cocok dengan karakter non-alfanumerik seperti yang ditunjukkan di bawah ini

[^a-zA-Z0-9] yang juga dapat ditulis sebagai [^[. alnum. ]]

Itu hanya negasi dengan menambahkan "^" segera setelah kurung sudut. Itu cocok dengan semua yang bukan bagian dari pola. Dalam hal ini, cocok dengan semua yang tidak berada dalam kisaran 0 - 9 dan A - Z (huruf besar dan kecil)

Contoh

<?php
$str = "Hey @there#! How ( are) you *d_oing/?";
echo preg_replace("/[^a-zA-Z0-9]/", "", $str);

Keluaran

Hai, apa kabar?

Sekarang seperti yang Anda lihat, kami telah menghapus semua karakter khusus dari string

Namun, seperti yang sudah Anda ketahui, itu juga menghilangkan spasi dan tanda baca seperti titik, tanda tanya, tanda seru, dll.

Jika Anda ingin mempertahankan karakter lain dalam string, Anda harus menentukannya dalam ekspresi reguler

Misalnya, ekspresi reguler di bawah cocok dengan huruf kecil a-z , huruf besar A-Z, numbers 0-9, whitespaces \s, exclamation mark ! , tanda tanya ? , titik . , koma , , kutipan tunggal \' and double quote ".

[a-zA-Z0-9\s. ?. ,\'\"]

Untuk menghapus semua karakter yang tidak termasuk dalam kriteria di atas, Anda harus menambahkan ^ setelah kurung sudut buka sehingga ekspresi reguler menjadi [^a-zA-Z0-9\s. ?. ,\'\"]

Contoh

<?php
$str = "Hey @there#! How ( are) you *d_oing/?";
echo preg_replace("/[^a-zA-Z0-9\s!?.,\'\"]/", "", $str);
_

Keluaran

Hai. Apa kabar?

Itu dia

Anda sekarang dapat dengan mudah menghapus karakter tertentu atau semua karakter khusus dari sebuah string di PHP menggunakan fungsi str_replace() dan preg_replace()

Bagaimana cara menghapus string setelah karakter tertentu di PHP?

Fungsi substr() dan strpos() digunakan untuk menghapus bagian string setelah karakter tertentu. fungsi strpos(). Fungsi ini digunakan untuk mencari posisi kemunculan pertama suatu string di dalam string yang lain. Fungsi mengembalikan nilai integer dari posisi kemunculan string pertama.

Bagaimana cara memangkas setelah karakter di PHP?

Fungsi trim() menghapus spasi putih dan karakter lain yang telah ditentukan sebelumnya dari kedua sisi string . Fungsi terkait. ltrim() - Menghapus spasi putih atau karakter yang telah ditentukan sebelumnya dari sisi kiri string. rtrim() - Menghapus spasi putih atau karakter yang telah ditentukan sebelumnya dari sisi kanan string.

Bagaimana cara menghapus teks tertentu dari string di PHP?

Fungsi trim() di PHP menghilangkan spasi putih atau karakter lain yang telah ditentukan dari sisi kiri dan kanan string. ltrim() dan rtrim() digunakan untuk menghapus spasi putih ini atau karakter lain dari sisi kiri dan kanan string.

Bagaimana cara menghapus string dari karakter tertentu?

Anda menambahkan metode replace() pada sebuah string . Metode replace() menerima tiga argumen. karakter adalah argumen yang diperlukan dan mewakili karakter tertentu yang ingin Anda hapus dari string. penggantian adalah argumen yang diperlukan dan mewakili string/karakter baru yang akan menggantikan karakter.