Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengganti \r\n dengan PHP

Masalah utama yang Anda miliki dengan semua variasi yang Anda coba adalah bahwa keduanya \n dan \r adalah karakter escape yang hanya diloloskan saat Anda menggunakannya dalam string bertanda kutip ganda .

Di PHP, ada perbedaan besar antara '\r\n' dan "\r\n" . Perhatikan tanda kutip tunggal pada tanda kutip pertama, dan tanda kutip ganda pada tanda kutip kedua.

Jadi:'\r\n' akan menghasilkan string empat karakter yang berisi garis miring, 'r', garis miring lain, dan 'n', sedangkan "\r\n" akan berisi dua karakter, yaitu karakter baris baru dan karakter carriage return.

Jadi jawaban langsung untuk pertanyaan Anda adalah Anda perlu menggunakan contoh kedua yang Anda berikan dalam pertanyaan, tetapi dengan tanda kutip ganda dan bukan tanda kutip tunggal:

$text = str_replace("\r\n",'', $text);

Perlu ditunjukkan bahwa ini akan menghapus semua baris baru dari input, dan menggantinya dengan apa-apa. Jika ada lebih dari satu baris baru di input, semuanya akan dihapus. Tanpa mengetahui lebih lanjut tentang aplikasi Anda, saya tidak tahu apakah ini yang Anda inginkan, tetapi berikut adalah beberapa pemikiran:

  • Jika Anda hanya ingin menghapus baris kosong (dan spasi putih lainnya) dari akhir dari string input, Anda dapat menggunakan trim() berfungsi sebagai gantinya.

  • Jika Anda ingin mempertahankan pemformatan untuk keluaran ke HTML, maka nl2br() fungsi akan membantu Anda. Jika Anda ingin menampilkan HTML tanpa memformat, Anda mungkin tidak perlu menghapusnya, karena browser tidak akan merender jeda baris dari \n karakter.

  • Jika Anda mengganti baris baru dengan apa-apa, sesuai contoh Anda, kata terakhir dari baris pertama sekarang akan langsung masuk ke kata pertama dari baris kedua, dan seterusnya. Anda mungkin lebih suka menggantinya dengan karakter spasi daripada tidak sama sekali.

  • Ada kemungkinan bahwa pengguna dapat mengirimkan input hanya dengan \n tanpa \r . yang cocok , atau sebaliknya (ini mungkin karena OS atau browser mereka, atau peretasan yang disengaja, atau sejumlah alasan lainnya). Jika Anda ingin mengganti semua contoh dari kedua karakter ini, cara yang lebih andal untuk melakukannya adalah dengan menggantinya satu per satu, daripada mengandalkan mereka yang bersebelahan. str_replace() memungkinkan Anda melakukan ini dengan menentukannya dalam array. Anda juga dapat menggunakan strtr() atau preg_replace() untuk mencapai tujuan yang sama.

Semoga membantu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbarui Mode SQL Di MySQL

  2. Apa itu INDEKS SPASIAL dan kapan saya harus menggunakannya?

  3. Sistem Peringkat di PHP dan MySQL

  4. Bagaimana saya bisa memeriksa apakah ada tabel MySQL dengan PHP?

  5. Bahasa arab di php/mysql muncul ???? tanda tanya di html