Làm cách nào tôi có thể nhận được văn bản mà không cần thẻ html?

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ản

Dá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ẻ HTML

Sao 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ản

Tô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

Làm cách nào tôi có thể nhận được văn bản mà không cần thẻ html?

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= "

Hello World

\n

It's me, Mario

"; //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("")

// But this ...
stripHtml("")

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 jQuery

Nế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= "
\n

Hello World

\n

This is the text that we should get.

\n

Our Code World © 2017

\n
"; var stripedHtml = $("
").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 quy

Nế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("")

// But this ...
stripHtml("")
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ỗi

var htmlString= "

Hello World

\n

It's me, Mario

"; 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("")

// But this ...
stripHtml("")
1 và
// This won't do anything but retrieve the text
stripHtml("")

// But this ...
stripHtml("")
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ụ sau

var htmlString= "
\n

Hello World

\n

This is the text that we should get.

\n

Our Code World © 2017

\n
"; 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("")

// But this ...
stripHtml("")
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 he

var htmlString= "
\n

Hello World

\n

This is the text that we should get.

\n

Our Code World © 2017

\n
"; 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.