Loại bỏ việc mã hóa HTML (") khi sử dụng bộ gõ (ckediter, tinymce) thêm dữ liệu

Vấn đề khi lập trình PHP sử dụng một số bộ gõ phổ biến như ckediter, tinymce… hay rất nhiều bộ gõ khác gặp phải là việc khi thêm dữ liệu vào cơ sở dữ liệu database của Server thì gặp hiện tượng các đoạn mã tự động thêm vào dữ liệu của bạn.

VD như ", các dấu / //

Các bộ gõ cũng mã hóa và kiểm soát các dữ liệu nhưng vẫn đề không nằm ở đây.  Phần này Tú cũng không thực sự nắm rõ để mô tả kỹ vấn đề, nhưng mình hiểu rằng khi gửi chuỗi (string) lên thì nó sẽ tự động thêm / do đó khi hiển thị nó sẽ bị lỗi.

quoc-htmlNhư ví dụ trên thì phần hiển thị thẻ <img> khi show ra trang Web sẽ như sau.

hien-thi-quot

Hiển thị thừa các thẻ khi trình duyệt biên dịch

Chúng ta thấy rằng như vậy hình ảnh sẽ bị lỗi mà không hiển thị được, chúng ta có thể làm bằng 3 cách để khắc phục (Tham khảo)

  • Kiểm tra thư viện magic_quotes_gpc để là OFF
  • Hủy bỏ phần mã hóa của các bộ gõ để tránh dữ liệu /.
  • Sử dụng thêm 1 hàm đẻ hiển thị dữ liệu là stripslashes

Tú thấy rằng cách thêm một hàm dữ liệu, đẻ kiểm soát việc hiển thị đơn giản hơn rất nhiều.

 

<?php
$str = "Is your name O\'reilly?";

// Outputs: Is your name O'reilly?
echo stripslashes($str);
?>

Đây là vẫn đề mình đã gặp ở rất nhiều hosting, và là giải pháp mình sử dụng để giải quyết vấn đề này. Đây thực chất như một bài note và hy vọng có thể là gợi ý cho các bạn khi gặp vấn đề tương tự. Kiến thức của bản thân về Php cũng chưa nhiều, nhưng cũng mong có sự trao đổi nếu bạn gặp vấn đề để bản thân mình học hỏi thêm.
Tú Cao

Nhận thêm bí quyết mới

Đăng ký nhận bản tin qua email, bạn sẽ không bao giờ bỏ lỡ những chia sẻ tuyệt vời từ Tú Cao.

One Response to “Loại bỏ việc mã hóa HTML (&quot;) khi sử dụng bộ gõ (ckediter, tinymce) thêm dữ liệu”
  1. Duong 09/10/2015

Leave a Reply

Thư điện tử của bạn sẽ không được hiện thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký để nhận
Tuyệt chiêu Marketing

Khi nào có bí quyết mới, bạn luôn là người biết đầu tiên.