Xóa các thẻ html khỏi chuỗi C# razor
Trong bài đăng này, chúng tôi sẽ trình bày cách xóa tất cả các thẻ HTML khỏi một chuỗi mà không biết những thẻ nào được bao gồm bên trong chuỗi đó Show Có nhiều cách để đạt được nhiệm vụ này, nhưng không có cách nào đảm bảo bạn xóa tất cả các thẻ. Chúng ta sẽ xem xét một số phương pháp của nó
Hàm này truyền một tham số chuỗi và chúng tôi sử dụng hàm 3 của 4 để xóa các thẻ vì chữ ký của các thẻ được cung cấp trong đầu vào hàmNó không hoạt động cho tất cả các trường hợp, nhưng hầu hết đều hoạt động tốt. Bạn sẽ cần viết thuật toán để xóa tất cả các thẻ khỏi đầu vào chuỗi Một giải pháp khác là sử dụng Gói Agility HTML
Điều này sẽ hoạt động tốt ngoại trừ các nút văn bản thô 5, 6, 7 và văn bản thô. Hàm này lấy một chuỗi làm tham số trong biến 8Dòng 9 kiểm tra xem chuỗi đã trống chưa thì trả về chuỗi trống
Các câu lệnh này tạo một tài liệu HTML mới và tải dữ liệu vào tài liệu. Nó đã là một chuỗi thẻ HTML và sẽ tuân theo mẫu HTML Dòng 0 cho biết thẻ nào được phép. Bạn có thể thay đổi, thêm bớt các thẻ theo yêu cầu của mìnhSau đó, trong vòng lặp 1, nó sử dụng hàng đợi để thêm tất cả các nút tài liệu, loại bỏ từng nút và xóa thẻ HTMLQuá trình tiếp tục cho đến khi tất cả dữ liệu được làm sạch và sau đó nó trả về HTML bên trong của tài liệu HTML, vốn đã là một văn bản được làm sạch Như đã nói trước đó, không có quy tắc hay phương pháp cứng nhắc và nhanh chóng nào để đạt được nhiệm vụ này. Có nhiều cách, và không có cách nào là hoàn toàn đáng tin cậy Hôm nọ tôi thấy một câu hỏi đơn giản nhưng thú vị trên internet. Ai đó đã đăng muốn biết. “Làm cách nào để xóa các thẻ HTML trong C?” Nó nhanh chóng xuất hiện trong đầu tôi, nhưng với Nếu bạn hiểu với nó thực sự rất dễ dàng, chỉ cần
Tóm lại code là thế này
Nhưng trong mọi thứ thực sự không dễ dàng Bạn có thể sử dụng 3 trong C, nhưng nó sẽ chỉ kiểm tra các mẫu, còn việc thay thế sẽ tùy thuộc vào bạnVí dụ: kiểm tra xem một chuỗi đã cho có thẻ trong đó hay không, chúng ta có thể sử dụng nó như thế này
Để biết thêm thông tin, hãy truy cập trang POSIX của sách hướng dẫn bằng lệnh
Xóa THẺ HTML trong C Sau khi bạn kiểm tra xem một chuỗi đã cho có thẻ hay không (lưu xử lý), bước tiếp theo là xóa thẻ Tôi đã nghĩ ra một giải pháp của riêng mình (và đơn giản 💡 ) mà những người yêu thích C có thể phản đối, nhưng nó hiệu quả 😎. Bản thân mã là
Mã cuối cùng là 2
Điều đúng đắn là phân bổ không gian trên heap, bởi vì một chuỗi chứa tài liệu có thể rất lớn. Nhưng đối với các mục đích giáo khoa và để hiểu logic, nó có kích thước tốt Làm cách nào để xóa tất cả các thẻ HTML khỏi chuỗi trong C#?By using Regex: public static string RemoveHTMLTags(string html) { return Regex.Replace(html, "<.*?>", string.Empty); } .. . Bằng cách sử dụng Regex đã biên dịch để có hiệu suất tốt hơn. . Bằng cách sử dụng Char Array để có hiệu suất nhanh hơn cho một số tệp HTML Làm cách nào để xóa HTML khỏi chuỗi?Có thể xóa các thẻ HTML khỏi một chuỗi đã cho bằng cách sử dụng phương thức replaceAll() của lớp String . Chúng tôi có thể xóa các thẻ HTML khỏi một chuỗi nhất định bằng cách sử dụng biểu thức chính quy. Sau khi xóa các thẻ HTML khỏi một chuỗi, nó sẽ trả về một chuỗi dưới dạng văn bản bình thường.
Làm cách nào để thay thế thẻ HTML từ chuỗi bằng C#?Bạn có thể sử dụng một chuỗi thay thế đơn giản để làm điều đó. Như thế này. string html = ""; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . "; . Replace(" .
Làm cách nào để xóa các thẻ HTML khỏi Datatable trong C#?Mã biểu thức chính quy C# để xóa thẻ HTML trong C# . chuỗi tĩnh công khai StripHtmlTags (nguồn chuỗi này) return Regex.Replace(source, "<.*?>|&.*?;", string.Empty);. |