Hi. I made a function that removes the HTML tags along with their contents:
Function: function strip_tags_content($text, $tags = '', $invert = FALSE) {
preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags); $tags = array_unique($tags[1]);
if(is_array($tags) AND count($tags) > 0) { if($invert == FALSE) { return preg_replace('@<(?!(?:'. implode('|', $tags) .')\b)(\w+)\b.*?>.*?@si', '', $text); } else { return preg_replace('@<('. implode('|', $tags) .')\b.*?>.*?@si', '', $text); } } elseif($invert == FALSE) { return preg_replace('@<(\w+)\b.*?>.*?@si', '', $text); } return $text; } ?>
Sample text: $text = 'sample text with
tags
';Result for strip_tags($text): sample text with tags Result for strip_tags_content($text): text with Result for strip_tags_content($text, ''): sample text with Result for strip_tags_content($text, '', TRUE); text with tags I hope that someone is useful :) Công cụ trực tuyến này sẽ lấy mã HTML (cả một trang web hoặc một đoạn mã HTML) và chuyển đổi nó thành văn bản thuần túy. Công cụ này sẽ tự động xóa tất cả các thẻ HTML. Nó cũng hiển thị thông tin thẻ meta tiêu đề và mô tả nếu có Nó sẽ hoạt động hoàn toàn tốt trừ khi bạn có ký hiệu nhỏ hơn hoặc lớn hơn trong nội dung văn bản của mình thì mọi thứ có thể trở nên rắc rối. Bởi vì các thẻ HTML cũng sử dụng các ký hiệu này, nếu có trong nội dung, chúng có thể gây ra sự cố chuyển đổi không mong muốn Nếu bạn gặp sự cố thì khuyến nghị của tôi là xóa bất kỳ ký hiệu nhỏ hơn hoặc lớn hơn nào xuất hiện trong nội dung văn bản của bạn trước khi chuyển đổi thành văn bản thuần túy Nếu bạn chỉ muốn lấy nội dung văn bản từ một trang để chỉnh sửa và sửa lại nội dung thì đây có thể là một công cụ rất hữu ích cho bạn Trình chuyển đổi HTML sang văn bảnDán mã HTML của bạn vào ô bên dưới rồi nhấp vào nút chuyển đổi Văn bản rõ ràng mới sẽ xuất hiện trong hộp ở cuối trang Văn bản mới không có thẻ HTMLSao chép văn bản mới được định dạng của bạn từ hộp bên dưới Tải xuống văn bản mới Sửa đổi công cụ HTML sang văn bảnTôi vừa thực hiện một sửa đổi nhỏ về chức năng của công cụ chuyển đổi này. Bây giờ, khi nó loại bỏ các thẻ HTML khỏi trang của bạn, nội dung không có HTML còn lại có thể được lưu vào khay nhớ tạm của bạn hoặc tải xuống dưới dạng tệp văn bản Trong trường hợp, đâu là phần tử đầu tiên trên trang, sử dụng HTML là không thích hợp hơn. Thay vào đó, bạn có thể cung cấp tệp văn bản với kiểu MIME văn bản/đơn giản Thẻ trống, có nghĩa là thẻ đóng không bắt buộc Ví dụ về thuộc tính HTML
Title of the document
The tag content looks like this:
Main title of the document
First paragraph of the text
Subheading
Thetag hỗ trợ các thuộc tính toàn cầu Các chủ đề liên quan đến ngôn ngữ lập trình phía máy khách Đăng câu hỏi và câu trả lời về mã và tập lệnh JavaScript, Ajax hoặc jQuery MariusPosts. 107 Xin chào, Tôi có một Div với một số nội dung và các thẻ html khác bên trong Làm cách nào tôi có thể nhận được tất cả nội dung văn bản của Div này mà không có thẻ html? Tôi đã sử dụng thuộc tính InternalHTML, nhưng cũng nhận được các thẻ Đây là những gì tôi đã cố gắng Mã số.
Some content ...
Other html element.
Text in Another html tag
Bạn có thể sử dụng cái này Mã số.
Some content ...
Other html element.
Text in Another html tag
Hoặc, nếu bạn sử dụng jQuery
chủ đề tương tự Thông thường ở phía máy chủ, bạn có thể sử dụng một loạt hàm PHP (chẳng hạn như strip_tags ) và để xóa HTML và định dạng xấu. Tuy nhiên, nếu bạn không thể sử dụng máy chủ (hoặc bạn sử dụng Node. js) để hoàn thành tác vụ này, thì bạn vẫn có thể sử dụng Javascript để thực hiện. Trong bài viết này, bạn sẽ tìm thấy 3 cách để tách các thẻ html khỏi một chuỗi trong Javascript 1. Tạo một phần tử DOM tạm thời và truy xuất văn bảnĐây là cách ưa thích (và được đề xuất) để tách HTML khỏi chuỗi bằng Javascript. Nội dung của phần tử div tạm thời, sẽ là chuỗi HTML được cung cấp để tách, sau đó từ phần tử div trả về thuộc tính innerText /**
* Returns the text from a HTML string
*
* @param {html} String The html string
*/
function stripHtml(html){
// Create a new div element
var temporalDivElement = document.createElement("div");
// Set the HTML content with the providen
temporalDivElement.innerHTML = html;
// Retrieve the text property of the element (cross-browser support)
return temporalDivElement.textContent || temporalDivElement.innerText || "";
}
var htmlString= "<div><h1>Hello World</h1>\n<p>It's me, Mario</p></div>";
//Hello World
//It's me, Mario
console.log(stripHtml(htmlString));
Vấn đề duy nhất của điều này (và cũng là ưu điểm) là trình duyệt sẽ xử lý chuỗi được cung cấp dưới dạng HTML, điều đó có nghĩa là nếu chuỗi HTML chứa một số loại Javascript có thể hiểu được đối với trình duyệt, thì chuỗi đó sẽ được thực thi // This won't do anything but retrieve the text
stripHtml("<script>alert(\"Hello\");</script>")
// But this ...
stripHtml("<img onerror='alert(\"Oh Oh this is not good, i could do something evil with this javascript\")' src='inexistent-image-source'>")
Do đó, bạn chỉ nên sử dụng điều này nếu bạn tin tưởng vào nguồn của chuỗi HTML 2. Nếu bạn đang sử dụng jQueryNếu bạn sử dụng jQuery, bạn có thể đơn giản hóa mã từ bước đầu tiên. Đoạn mã sau sẽ thực hiện giống như đoạn mã trong bước đầu tiên (các cảnh báo cũng áp dụng) var htmlString= "<div>\n <h1>Hello World</h1>\n <p>This is the text that we should get.</p>\n <p>Our Code World © 2017</p>\n </div>";
var stripedHtml = $("<div>").html(htmlString).text();
// Hello World
// This is the text that we should get.
// Our Code World © 2017
console.log(stripedHtml);
3. Với một biểu thức chính quyNếu bạn đang làm việc trong môi trường Node, nơi không có phương thức document hoặc // This won't do anything but retrieve the text
stripHtml("<script>alert(\"Hello\");</script>")
// But this ...
stripHtml("<img onerror='alert(\"Oh Oh this is not good, i could do something evil with this javascript\")' src='inexistent-image-source'>") 0, thì bạn có thể sử dụng biểu thức chính quy để thay thế tất cả các thẻ HTML từ một chuỗivar htmlString= "<div><h1>Hello World</h1>\n<p>It's me, Mario</p></div>";
var stripedHtml = htmlString.replace(/<[^>]+>/g, '');
//Hello World
//It's me, Mario
console.log(stripedHtml);
Phương pháp này sẽ hoạt động hoàn hảo, nhưng nó sẽ chỉ xóa các ký hiệu nhỏ hơn và nhiều hơn ( // This won't do anything but retrieve the text
stripHtml("<script>alert(\"Hello\");</script>")
// But this ...
stripHtml("<img onerror='alert(\"Oh Oh this is not good, i could do something evil with this javascript\")' src='inexistent-image-source'>") 1 và // This won't do anything but retrieve the text
stripHtml("<script>alert(\"Hello\");</script>")
// But this ...
stripHtml("<img onerror='alert(\"Oh Oh this is not good, i could do something evil with this javascript\")' src='inexistent-image-source'>") 2), điều đó có nghĩa là các thực thể html không bị xóa khỏi chuỗi như trong ví dụ sauvar htmlString= "<div>\n <h1>Hello World</h1>\n <p>This is the text that we should get.</p>\n <p>Our Code World © 2017</p>\n </div>";
var stripedHtml = htmlString.replace(/<[^>]+>/g, '');
// Hello World
// This is the text that we should get.
// Our Code World © 2017
console.log(stripedHtml);
Thực thể // This won't do anything but retrieve the text
stripHtml("<script>alert(\"Hello\");</script>")
// But this ...
stripHtml("<img onerror='alert(\"Oh Oh this is not good, i could do something evil with this javascript\")' src='inexistent-image-source'>") 3 phải được dịch là biểu tượng bản quyền, tuy nhiên, nó vẫn ở đó dưới dạng thực thể html. Đó rõ ràng là một bất lợi nếu bạn so sánh nó với phương pháp đầu tiên, nhưng đừng lo lắng không phải mọi thứ đều bị mất (chưa). Bạn có thể sử dụng Javascript để giải mã htmlentity thành các ký tự có thể đọc được (hãy đọc bài viết này để tìm hiểu cách đạt được nó). Ví dụ sau sẽ loại bỏ tất cả html bằng cách sử dụng hướng dẫn thay thế đã đề cập trước đó và chuyển đổi các thực thể html thành các ký tự mà con người có thể đọc được bằng cách sử dụng thư viện hevar htmlString= "<div>\n <h1>Hello World</h1>\n <p>This is the text that we should get.</p>\n <p>Our Code World © 2017</p>\n </div>";
var stripedHtml = htmlString.replace(/<[^>]+>/g, '');
var decodedStripedHtml = he.decode(stripedHtml);
// Hello World
// This is the text that we should get.
// Our Code World © 2017
console.log(stripedHtml);
// Hello World
// This is the text that we should get.
// Our Code World © 2017
console.log(decodedStripedHtml);
Như bạn có thể thấy, bằng cách sử dụng thư viện he, chúng tôi đã chuyển đổi các thực thể html còn lại thành giá trị có thể đọc được của nó. Lưu ý rằng bạn không nhất thiết phải sử dụng thư viện he vì bạn có thể tạo hàm giải mã htmlentities của riêng mình nếu bạn đọc bài viết này
Có thẻ HTML nào không làm gì không?
Thẻ html không thực sự làm gì là gì? . and tags signify no specific meaning and are intended only for markup.
Làm cách nào để hiển thị văn bản không có thẻ HTML trong Angular?
Bạn cần sử dụng InternalHTML và đảm bảo rằng bạn tin cậy HTML nếu nó chứa thẻ script nếu không Angular sẽ báo lỗi.
Làm cách nào để xóa thẻ HTML khỏi chuỗi trong JavaScript?
Để loại bỏ tất cả các thẻ HTML khỏi một chuỗi, có rất nhiều quy trình trong JavaScript. Để loại bỏ các thẻ, chúng ta có thể sử dụng hàm replace() và cũng có thể sử dụng. thuộc tính textContent,. thuộc tính InternalText từ HTML DOM .
Làm cách nào để lấy văn bản thuần túy từ HTML trong JavaScript?
Cách dễ nhất là xóa tất cả các thẻ HTML bằng cách sử dụng phương thức replace() của JavaScript . Nó tìm thấy tất cả các thẻ được đặt trong dấu ngoặc nhọn và thay thế chúng bằng khoảng trắng. văn bản var = html. |