2012-05-15 46 views
6

Tôi đang xoá một số trang web và có văn bản ASCII mà tôi muốn chuyển đổi thành văn bản thuần để lưu trữ trong DB. Ví dụ tôi muốnChuyển đổi ASCII thành văn bản thuần túy trong PHP

I have got to tell anyone who will listen that this is 
one of THE best adventure movies I've ever seen. 
It's almost impossible to convey how pumped I am 
now that I've seen it. 

chuyển đổi sang

I have got to tell anyone who will listen that this is 
one of THE best adventure movies I've ever seen. It's 
almost impossible to convey how pumped I am now that 
I've seen it. 

Tôi có googled ngón tay đẫm máu, bất kỳ sự giúp đỡ?

+0

Cảm ơn sự giúp đỡ, đã làm việc tuyệt vời! –

+0

có thể trùng lặp của [Giải mã các thực thể html số qua PHP] (http://stackoverflow.com/questions/9587751/decoding-numeric-html-entities-via-php) và xem các câu hỏi liên quan ở bên phải. – hakre

Trả lời

18

Bạn có thể sử dụng html_entity_decode:

echo html_entity_decode('...', ENT_QUOTES, 'UTF-8'); 

vài lưu ý:

  • Xin lưu ý rằng có vẻ như bạn thực sự muốn chuyển đổi từ chuỗi HTML mã hóa (với các đơn vị như ) để ASCII AKA plaintext.

  • Ví dụ này chuyển đổi thành UTF-8 mã hóa ký tự tương thích ASCII cho tất cả các ký tự ASCII (tức là có mã char dưới 128). Nếu bạn thực sự muốn ASCII đơn giản (do đó mất tất cả các ký tự có dấu và ký tự từ các ngôn ngữ nước ngoài), bạn nên tách riêng tất cả các ký tự vi phạm.

  • Đối số cuối cùng ('UTF-8') là cần thiết để giữ khả năng tương thích với các phiên bản PHP khác nhau vì giá trị mặc định đã thay đổi kể từ PHP 5,4.0.

Cập nhật: Example with your text in ideone.

Update2: Đã thay đổi ENT_COMPAT thành ENT_QUOTES theo đề xuất của @ Daan.

+0

Cảm ơn bạn đã nhập. Tôi thực sự đã thử sử dụng html_entity_decode nhưng đầu ra của tôi vẫn có mã ASCII tương đương với dấu ngoặc kép, ví dụ: ' Mã hóa HTML này có được mã hóa không? Tôi thực sự muốn đi từ các chuỗi được mã hóa HTML sang văn bản thuần ASCII khi tôi đang thực hiện một số phân tích tình cảm về kết quả. –

+0

Ví dụ được cung cấp cho tôi với đầu vào của bạn; bạn có chắc là bạn chuyển các tham số chính xác tới 'html_entity_decode'? – Daan

+0

@Daan yep, nó hoạt động trong trình duyệt, nhưng khi tôi chạy cùng một mã trong CLI vấn đề vẫn tồn tại. –

Các vấn đề liên quan