Hướng dẫn php convert html to text - php chuyển đổi html thành văn bản

88

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi sử dụng tinymce để cho phép định dạng văn bản tối thiểu trong trang web của mình. Từ HTML được sản xuất, tôi muốn chuyển đổi nó thành văn bản đơn giản cho e-mail. Tôi đã sử dụng một lớp có tên HTML2TEXT, nhưng nó thực sự thiếu hỗ trợ UTF-8, trong số những thứ khác. Tuy nhiên, tôi làm như vậy, nó ánh xạ một số thẻ HTML thành định dạng văn bản đơn giản - như đặt dấu gạch dưới xung quanh văn bản mà trước đây có thẻ trong HTML.

Có ai sử dụng một cách tiếp cận tương tự để chuyển đổi HTML thành văn bản đơn giản trong PHP không? Và nếu vậy: Bạn có đề xuất bất kỳ lớp bên thứ ba nào tôi có thể sử dụng không? Hoặc làm thế nào để bạn giải quyết tốt nhất vấn đề này?

Benmorel

32,8K48 Huy hiệu vàng170 Huy hiệu bạc303 Huy hiệu đồng48 gold badges170 silver badges303 bronze badges

Hỏi ngày 10 tháng 12 năm 2009 lúc 22:31Dec 10, 2009 at 22:31

Justin Staytonjustin StaytonJustin Stayton

5.7518 Huy hiệu vàng35 Huy hiệu bạc43 Huy hiệu đồng8 gold badges35 silver badges43 bronze badges

8

Sử dụng HTML2TEXT [ví dụ HTML vào văn bản], được cấp phép theo giấy phép công cộng Eclipse. Nó sử dụng các phương thức DOM của PHP để tải từ HTML và sau đó lặp lại DOM kết quả để trích xuất văn bản thuần túy. Cách sử dụng:

// when installed using the Composer package
$text = Html2Text\Html2Text::convert[$html];

// usage when installed using html2text.php
require['html2text.php'];
$text = convert_html_to_text[$html];

Mặc dù không đầy đủ, nó là nguồn mở và đóng góp được hoan nghênh.

Các vấn đề với các tập lệnh chuyển đổi khác:

  • Vì html2text [GPL] không tương thích với EPL.
  • Liên kết của Lkessler [Attribution] không tương thích với hầu hết các giấy phép nguồn mở.

Abhi Beckert

32.1K12 Huy hiệu vàng82 Huy hiệu bạc110 Huy hiệu đồng12 gold badges82 silver badges110 bronze badges

Đã trả lời ngày 2 tháng 4 năm 2010 lúc 0:32Apr 2, 2010 at 0:32

8

Có chức năng dải_tags đáng tin cậy. Nó không đẹp mặc dù. Nó sẽ chỉ vệ sinh. Bạn có thể kết hợp nó với một chuỗi thay thế để có được sự nhấn mạnh của bạn.



Đã trả lời ngày 10 tháng 12 năm 2009 lúc 23:07Dec 10, 2009 at 23:07

pestilence669pestilence669pestilence669

5.6181 Huy hiệu vàng22 Huy hiệu bạc34 Huy hiệu đồng1 gold badge22 silver badges34 bronze badges

1

Chuyển đổi từ HTML sang văn bản bằng DomDocument là một giải pháp khả thi. Xem xét HTML2TEXT, yêu cầu PHP5:

  • //www.howtocreate.co.uk/php/html2texthowto.html
  • //www.howtocreate.co.uk/php/
  • //www.howtocreate.co.uk/jslibs/termsOfUse.html

Về UTF-8, việc viết trên trang "Howto" trạng thái:

Hỗ trợ riêng của PHP cho Unicode khá kém và không phải lúc nào cũng xử lý UTF-8 một cách chính xác. Mặc dù tập lệnh HTML2TEXT sử dụng các phương thức an toàn Unicode-step [mà không cần mô-đun MBString], nhưng nó không thể luôn luôn đối phó với việc xử lý mã hóa của PHP. PHP không thực sự hiểu unicode hoặc mã hóa như UTF-8 và sử dụng mã hóa cơ sở của hệ thống, có xu hướng là một trong những gia đình ISO-8859. Kết quả là, những gì có thể nhìn vào bạn giống như một ký tự hợp lệ trong trình soạn thảo văn bản của bạn, trong UTF-8 hoặc một byte đơn, cũng có thể bị Php giải thích sai. Vì vậy, mặc dù bạn nghĩ rằng bạn đang nuôi một ký tự hợp lệ vào HTML2Text, bạn cũng có thể không.

Tác giả cung cấp một số cách tiếp cận để giải quyết vấn đề này và nói rằng phiên bản 2 của HTML2TEXT [sử dụng DomDocument] có hỗ trợ UTF-8.

Lưu ý các hạn chế cho sử dụng thương mại.

Dave Jarvis

30K38 Huy hiệu vàng176 Huy hiệu bạc 307 Huy hiệu đồng38 gold badges176 silver badges307 bronze badges

Đã trả lời ngày 17 tháng 3 năm 2010 lúc 21:52Mar 17, 2010 at 21:52

lkesslerlkesslerlkessler

19.7K33 Huy hiệu vàng131 Huy hiệu bạc200 Huy hiệu Đồng33 gold badges131 silver badges200 bronze badges

1

Bạn có thể sử dụng Lynx với các tùy chọn -stdin và -dump để đạt được điều đó:

Bài Viết Liên Quan

Chủ Đề