Tôi sẽ tạo một thuật toán bọc từ trong PHP. Tôi muốn chia nhỏ các đoạn văn bản (cụm từ ngắn) trong n các dòng tối đa m ký tự (n không được cung cấp, vì vậy sẽ có nhiều dòng nếu cần). Tính đặc thù là độ dài của dòng (trong ký tự) phải cân bằng nhiều nhất có thể trên các dòng.Bọc từ cân bằng (Độ rách tối thiểu) trong PHP
Ví dụ về nhập văn bản:
How to do things
đầu ra sai (đây là hành vi word-wrap bình thường), m = 6:
How to
do
things
đầu ra mong muốn, luôn luôn m = 6:
How
to do
things
Doe Có ai có gợi ý hay hướng dẫn về cách thực hiện chức năng này không? Về cơ bản, Tôi đang tìm kiếm thứ gì đó để viết cụm từ ngắn gọn trên hai hoặc ba (càng nhiều càng tốt) các dòng có độ dài bằng.
Cập nhật: Có vẻ như tôi đang tìm kiếm chính xác cho một Minimum raggedness word wrap algorithm. Nhưng tôi không thể tìm thấy bất kỳ thực hiện trong một ngôn ngữ lập trình thực sự (bất cứ ai, sau đó tôi có thể chuyển đổi nó trong PHP).
Cập nhật 2: Tôi bắt đầu một bounty cho việc này. Có thể không tồn tại bất kỳ sự thực thi nào của thuật toán rách rưới tối thiểu trong bất kỳ ngôn ngữ thủ tục nào không? Tôi cần một thứ gì đó được viết theo cách có thể được dịch sang hướng dẫn thủ tục. Tất cả tôi có thể tìm thấy bây giờ chỉ là một bounch của (generic) phương trình mà tuy nhiên cần một thủ tục tìm kiếm tối ưu. Tôi cũng sẽ biết ơn về việc triển khai mà chỉ có thể ước tính thuật toán tìm kiếm tối ưu đó.
Câu hỏi là gì? – rdlowrey
Tôi cần các đề xuất và hướng dẫn về cách triển khai chức năng này. Tôi không biết bắt đầu từ đâu, tôi chưa bao giờ làm những việc như thế này trước đây. –
Tôi khuyên bạn nên xem các khoảng trống dưới dạng ký tự. Trong khi đếm tổng số ký tự, nếu tổng số ký tự của từ (m) lớn hơn giới hạn trên mỗi dòng (n) bạn tạo cho nó ở n + 1 với dấu cách ở cuối n + 1. – nand