2009-12-03 27 views
10

Hiện tại tôi đang phân tích cú pháp phía máy chủ bbcode nhưng tôi muốn hiển thị bản xem trước giống như trang web này.Bất kỳ trình phân tích cú pháp JavaScript tốt nào của BBCode?

Nếu tôi xử lý các máy chủ bbcode bằng cách sử dụng ajax nó hơi lag một chút, vì vậy tôi nghĩ rằng làm việc đó phía khách hàng, để chỉ hiển thị xem trước.

Các bạn có biết bất kỳ trình phân tích cú pháp bbcode nào được viết bằng javascript không?

Trả lời

5

Tôi chưa đích thân sử dụng bất kỳ trình phân tích cú pháp Javascript BBcode nào, nhưng hai kết quả Google hàng đầu (bbcodejsthis blog post) có vẻ khá yếu. Trước đây dường như chỉ hỗ trợ tìm và thay thế đơn giản, và sau này dường như đã cài sẵn BBcode, vì vậy bạn có thể phải hack nó một chút nếu bạn chọn giải pháp đó.

Tùy chọn tốt nhất của bạn có thể là cuộn giải pháp của riêng bạn (có thể dựa vào một trong hai liên kết ở đây), hoặc chỉ sử dụng AJAX và tiếp tục. Đó có lẽ là cách tốt nhất để đảm bảo rằng bản xem trước là chính xác và việc xem trước không phải là thời gian thực trên mọi phím bấm; một sự chậm trễ trước khi gửi yêu cầu được chấp nhận.

+5

Yup, tôi đã thấy cả hai liên kết trước khi đăng, nhưng tôi đang tìm kiếm thứ gì đó phổ biến hơn một chút, giống như thư viện tôi hiện đang sử dụng (http://bbcode.codeplex.com/). Vì vậy, có lẽ tôi sẽ chuyển nó cho JS. Dường như không có nhiều – Drevak

+4

Bạn có đề xuất một cách rõ ràng cái gì đó, có 'eval ("/"+ obj [k] .tmatch [tm] +"/gi.test (tag [tm]) "' trong đó không? – katspaugh

+2

@Matchu: Tôi nghĩ rằng những kiêu ngạo _ "Hãy để tôi Google cho bạn" _ bình luận là không cần thiết trên Stack tràn (và họ cũng làm giảm cơ hội để có được upvotes). Stack tràn giống như một cơ sở kiến ​​thức rất lớn mà là dễ dàng để tìm thấy bằng cách sử dụng Google (!), do đó, thực sự tốt khi thấy các câu trả lời hữu ích mà không có các nhận xét đáng ghét. :) – Sk8erPeter

7

Hơi trễ một chút và câu hỏi đã được trả lời chắc chắn. Tuy nhiên nếu bạn vẫn mở để gợi ý, và chưa dành thời gian của bạn chuyển đổi phân tích cú pháp được chỉ ra từ C# sang JavaScript, tôi đã viết một trình phân tích cú pháp (ban đầu trong PHP) mà tôi đã chuyển đổi bản thân mình thành [2] thành JavaScript. Nó có sẵn tại bitbucket theo giấy phép BSD 3 điều khoản. Trình phân tích cú pháp có vẻ khá nhanh, nhưng tôi chưa thực hiện bất kỳ phân tích nào về tốc độ của nó.

Nó có thể không linh hoạt theo một số cách như các dự án khác có thể, nhưng nó cho phép xác định mã của riêng bạn ("mã bb" hay không, với một vài thuộc tính), và tất cả đều nằm trong một tệp. Đây không phải là một trình phân tích cú pháp tìm và thay thế đơn giản, và không dựa trên regex.

Nếu bạn quan tâm đến điều này, nó có thể giúp bạn không phải chuyển đổi thư viện đó. Về mặt kỹ thuật, tôi là một người thân "không rõ", nhưng đó là những điều tuyệt vời về JS/OSS: bạn có thể kiểm tra nguồn để xem những gì tôi đã làm.

[2] Do đó, có một số "chức năng tương thích" còn lại, nhưng tôi viết lại những thứ có sẵn tương đương.

+2

Vui lòng sử dụng github! – Mark

+0

@ArtMcBain: dự án không tìm thấy trên bitbucket -1 –

+1

+1. Oh và https://bitbucket.org/AMcBain/bb-code-parser sẽ là liên kết đến kho lưu trữ thực. – zrvan

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